As I understand this bug report, the problem was this: <doy> r: sub s () { given 9 { return 0 when $_ %% 3; 1 } }; say s; <p6eval> rakudo c8de2e: OUTPUT«0»
As the subject says the "s;" was parsed as a subroutine call by Rakudo. Back in 2012 the bug could have been shown a bit shorter: $ perl6 -e 'sub s { say 42 }; s;' 42 Now we get: $ perl6 -e 'sub s { say 42 }; s;' ===SORRY!=== Regex not terminated. at -e:1 ------> sub s { say 42 }; s;⏏<EOL> The "s;" is no longer parsed as a subroutine call, instead we get a parsing error. That's the correct behaviour -- and also how STD parses the code: $ viv -c -e 'sub s { say 42 }; s;' ===SORRY!=== Regex not terminated at (eval) line 1 (EOF): ------> sub s { say 42 }; s;⏏<EOL> Parse failed I'll add a test and close the ticket. Please correct me if I misunderstood the problem.