On Wed Feb 04 18:18:09 2015, masak wrote: > <masak> m: for ^5 { .say; NEXT { return } } > <camelia> rakudo-moar 613c0b: OUTPUT«01234» > <masak> that last one, besides wrongly compiling (IMO), did not have > the wrong runtime semantics I expected it to. > <masak> m: say "A"; return; say "B" > <camelia> rakudo-moar 613c0b: OUTPUT«A» > <masak> m: for ^5 { say "A"; return; say "B" } > <camelia> rakudo-moar 613c0b: OUTPUT«A» > <masak> ok, `return` should not bind to `NEXT` phasers > <masak> m: for ^5 { .say; NEXT { say "A" }; NEXT { return } } > <camelia> rakudo-moar 613c0b: OUTPUT«01234» > <masak> seems it's worse than that: `return` in a `NEXT` binds to the > iteration. > * masak submits rakudobug for `return` in a `NEXT` working at all > outside of a routine
Now it complains about return outside of routine. Tests in S32-exceptions/misc.t, where there were various other return outside of routine tests for cases that did already work.