The Null PMC access no longer occurs. On Moar, Parrot and JVM this now runs fine (and has identical output):
$ perl6 -e 'class C { has &!x; method f { say defined &!x; &!x //= {"ook!" };
say defined &!x; &!x() } }; C.new.f'
False
True
I added a test to S12-attributes/class.t with the following commit:
https://github.com/perl6/roast/commit/1345d8bf7a
I'm closing this ticket now.
