On Wed Feb 04 18:18:09 2015, masak wrote:
> <masak> m: for ^5 { .say; NEXT { return } }
> <camelia> rakudo-moar 613c0b: OUTPUT«0␤1␤2␤3␤4␤»
> <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«0␤1␤2␤3␤4␤»
> <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.

Reply via email to