Skip Menu |
Report information
Id: 114042
Status: open
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: masak <cmasak [at] gmail.com>
Cc:
AdminCc:

Severity: (no value)
Tag: Bug
Platform: (no value)
Patch Status: (no value)
VM: JVM



Subject: [BUG] LTA error message about returning from an exhausted routine in Rakudo
Date: Sun, 8 Jul 2012 23:23:46 +0200
To: rakudobug [...] perl.org
From: Carl Mäsak <cmasak [...] gmail.com>
Download (untitled) / with headers
text/plain 805b
<masak> rn: sub a { my &x = { return }; &x }; my &y = a; &y() <p6eval> rakudo 138213: OUTPUT«(timeout)» <masak> hm, locally on rakudo I get 'Attempt to return outside of any Routine'. I don't much like that error. <masak> the return is in a Routine. <masak> it's just that the Routine in question is exhausted. <pmichaud> ...a Routine that has already exited, though. <masak> right, I agree that the return heppens dynamically outside the dynamic scope of the Routine. <pmichaud> yes, that seems like a LTA error message * masak submits rakudobug <benabik> rn: sub a { my &x = { return }; &x }; sub b(&x) { &x() }; b(a) <p6eval> rakudo 138213: OUTPUT«(timeout)» <p6eval> ..niecza v19-13-g442e075: ( no output ) <masak> locally I still get 'Attempt to return outside of any Routine' <masak> benabik++
Download (untitled) / with headers
text/plain 277b
This was fixed on MoarVM for https://github.com/rakudo/rakudo/issues/1216 Tests added for the variants in this ticket in https://github.com/perl6/roast/commit/fe57091172 JVM apparently still needs work on this, so the tests are skipped for JVM. keeping open for JVM fixes.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org