This was resolved in (2016-08-03) https://github.com/rakudo/rakudo/commit/5e61516a3fd290d93a7e18899483ccb2b9ba3a30
W4anD0eR96 committed some tests for it: https://github.com/perl6/roast/commit/48124e0123c27a7c5f140eb0602a15eeeea32a56 And then beefed up the tests for other phasers: https://github.com/perl6/roast/commit/2a3717c134d74aa1974c434f046e3a5908b7cdc8 This revealed an issue in KEEP, which is now filed in https://github.com/rakudo/rakudo/issues/1290 Closing. On 2015-06-26 03:45:08, elizabeth wrote: > [12:35:07] <lizmat> m: for ^2 { NEXT .say } # feels like a > rakudobug > [12:35:07] <+camelia> rakudo-moar a15dac: OUTPUT«Cannot call method > 'say' on a null object in block <unit> at /tmp/gV2l9tWyYZ:1» > [12:35:32] <lizmat> m: for ^2 { NEXT $_.say } # same > [12:35:32] <+camelia> rakudo-moar a15dac: OUTPUT«Cannot call method > 'say' on a null object in block <unit> at /tmp/2JExRjB36d:1» > [12:35:45] <lizmat> m: for ^2 { .say } # ok > [12:35:46] <+camelia> rakudo-moar a15dac: OUTPUT«01» > [12:35:54] <lizmat> moritz: agree ? > [12:37:49] <moritz> lizmat: yes > > Same for LAST: > > $ 6 'for ^10 { LAST .say }' > Cannot call method 'say' on a null object > > Not for FIRST, LEAVE, PRE, UNDO > $ 6 'for ^1 { FIRST .say }' > 0 > $ 6 'for ^1 { LEAVE .say }' > 0 > $ 6 'for ^1 { PRE .say }’ > 0 > $ 6 'for ^1 { UNDO .say }’ > 0 > $ 6 'for ^1 { KEEP .say; 1 }’ > 0 > > POST has a different failure mode: > > $ 6 'for ^1 { POST .say }’ > Nil > > > Liz