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.