On Sun, 20 Jul 2014 10:29:57 -0700, masak wrote:
> < masak> r: sub { sub foo($x = return) { $x }; say foo }(); say "alive"
> <camelia> rakudo-jvm bbdcfd: OUTPUT«alive»
> <camelia> ..rakudo-moar bbdcfd: OUTPUT«Attempt to return outside of
> any Routine [...]
> <camelia> ..rakudo-parrot bbdcfd: OUTPUT«aliveNominal type check
> failed for parameter '$x'; expected Any but got Mu instead»
This works now with Rakudo MoarVM as well.
➜ sub { sub foo($x = return) { $x }; say foo }(); say "alive";
alive
bisectable6 reports¹ that it was fixed by one of these commits:
https://github.com/rakudo/rakudo/commit/e609822
https://github.com/rakudo/rakudo/commit/615d30c
https://github.com/rakudo/rakudo/commit/8beb87b
https://github.com/rakudo/rakudo/commit/05170e0
https://github.com/rakudo/rakudo/commit/899e0fd
https://github.com/rakudo/rakudo/commit/e544376
https://github.com/rakudo/rakudo/commit/fcd0093
https://github.com/rakudo/rakudo/commit/04929fe
https://github.com/rakudo/rakudo/commit/7ee6578
https://github.com/rakudo/rakudo/commit/519e764
Ticket can be closed with tests.
---
[1] https://gist.github.com/Whateverable/7807d6ff7d2e1d059172c7cb784bd4d7