Hmm, it looks like that was not all -- or there is a new problem.
$ perl6-m -e 'for 42 {NEXT (state $val) = $_}; say "alive"'
alive
This does not fail any longer. But the tests in integration/advent2012-day15.t
don't pass. I'd say the following command shows more:
$ perl6-m -e 'for 42 {NEXT (state $val) max= $_; LAST say "last: ", $val;}; say
"alive"'
last: -Inf
alive
$ perl6-p -e 'for 42 {NEXT (state $val) max= $_; LAST say "last: ", $val;}; say
"alive"'
alive
$ perl6-j -e 'for 42 {NEXT (state $val) max= $_; LAST say "last: ", $val;}; say
"alive"'
last: 42
alive
On Parrot LAST does not fire, on Moar it fires but $val has a weird value, only
on JVM it fires and $val is 42.