Reported by: firstname.lastname@example.org
PDD 15 gives the impression that Object is a standard superclass for user classes, to the extent that one might expect user classes to have Object as a parent by default. In fact Object doesn't enter the inheritance hierarchy unless it is explicitly added, and furthermore inheriting from it actually makes a class unusable:
$ cat t49.pir
.sub main :main
$P0 = subclass "Object", "Foo"
$P1 = new $P0
$ ./parrot t49.pir
Object must be created by a class.
current instr.: 'main' pc 4 (t49.pir:3)
Object cripples the init vtable methods, apparently with the intent that classes will create object PMCs by other means. But the instantiate vtable method of Class just uses the ordinary PMC creation mechanism, running straight into the crippled initialisation. $P0."new"() isn't any better, as the named method on Class is just a wrapper for the instantiate vtable method.
If the class is defined without mentioning Object as a parent ('newclass "Foo"' instead of 'subclass "Object", "Foo"') then object creation works fine. Evidently the object doesn't get the Object vtable in this case, but I think it must be getting the Object PMC layout.
Summary of my parrot 5.7.0 configuration:
configdate='Sat Oct 5 12:42:43 2013 GMT'
[test] add testcase for GH #1010 subclass from Object
we should be able to specify inheritance from Object explcitly
[test] add TODO testcase for GH #1010 subclass from Object
we should be able to specify inheritance from Object explicitly