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«alive␤Nominal 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

Reply via email to