The segfaults are mostly gone. Only on parrot there is a Null PMC Access, but 
only for two of the four examples. With said two examples there is an (non 
segfaulting) error on Moar and JVM as well:

$ perl6 -e 'role S[::N] { N::x }'   ## no error on Moar, Parrot and JVM

$ perl6 -e 'sub foo(::N) { N::x }'  ## no error on Moar, Parrot and JVM

$ perl6-m -e 'my (::N); N::x'
Cannot call method 'at_key' on a null object
  in block <unit> at -e:1

$ perl6-j -e 'my (::N); N::x'
Can not call method 'at_key' on a null object
  in block <unit> at -e:1

$ perl6-p -e 'my (::N); N::x'
Null PMC access in find_method('at_key')
  in block <unit> at -e:1

$ cat 122716.pl6 
role Zero {
  constant count = 0;
}
role Suc[::N] {
  constant count = 1 + N::count;
}
subset _0 of Zero;
subset _1 of Suc[Zero];
subset _2 of Suc[_1];
say Suc[Suc[Suc[Zero]]]::count;

$ perl6-m 122716.pl6 
===SORRY!===
Cannot call method 'at_key' on a null object

$ perl6-j 122716.pl6 
===SORRY!===
Can not call method 'at_key' on a null object

$ perl6-p 122716.pl6 
===SORRY!===
Null PMC access in find_method('at_key')

Reply via email to