Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LEAVE phasers in multi subs do not fire #2785

Closed
p6rt opened this issue Jun 7, 2012 · 8 comments
Closed

LEAVE phasers in multi subs do not fire #2785

p6rt opened this issue Jun 7, 2012 · 8 comments

Comments

@p6rt
Copy link

p6rt commented Jun 7, 2012

Migrated from rt.perl.org#113548 (status was 'resolved')

Searchable as RT113548$

@p6rt
Copy link
Author

p6rt commented Jun 7, 2012

From @moritz

<not_gerd> r​: multi sub foo() { say 'here'; LEAVE say 'not here'; }; foo;
<p6eval> rakudo 332540​: OUTPUT«here␤»

Works without the "multi"​:

<moritz> r​: sub foo() { say 'here'; LEAVE say 'not here' }; foo;
<p6eval> rakudo 332540​: OUTPUT«here␤not here␤»

@p6rt
Copy link
Author

p6rt commented Dec 28, 2012

From @masak

<doy> r​: our $thing = False; proto foo {*}; multi foo { temp $thing =
True }; sub bar { die "???" if $thing }; foo; bar;
<p6eval> rakudo 930369​: OUTPUT«??? [...]
<doy> r​: our $thing = False; sub foo { temp $thing = True }; sub bar {
die "???" if $thing }; foo; bar;
<p6eval> rakudo 930369​: ( no output )
<doy> seems like temp doesn't work properly in multisubs?
* masak submits rakudobug

@p6rt
Copy link
Author

p6rt commented Dec 29, 2012

From @masak

<jnthn> masak​: the "temp" issue is a well known one of LEAVE/multi
interaction, which is already filed.

@p6rt
Copy link
Author

p6rt commented Dec 29, 2012

@masak - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Mar 16, 2013

From @jnthn

On Thu Jun 07 13​:52​:49 2012, moritz wrote​:

<not_gerd> r​: multi sub foo() { say 'here'; LEAVE say 'not here'; };
foo;
<p6eval> rakudo 332540​: OUTPUT«here␤»

Works without the "multi"​:

<moritz> r​: sub foo() { say 'here'; LEAVE say 'not here' }; foo;
<p6eval> rakudo 332540​: OUTPUT«here␤not here␤»

Fixed after the recent multi-dispatch changes​:

multi sub foo() { say 'here'; LEAVE say 'not here'; }; foo;
here
not here

Tagging testneeded.

/jnthn

@p6rt
Copy link
Author

p6rt commented Mar 16, 2013

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Mar 29, 2013

From @coke

On Sat Mar 16 10​:02​:08 2013, jnthn@​jnthn.net wrote​:

On Thu Jun 07 13​:52​:49 2012, moritz wrote​:

<not_gerd> r​: multi sub foo() { say 'here'; LEAVE say 'not here'; };
foo;
<p6eval> rakudo 332540​: OUTPUT«here␤»

Works without the "multi"​:

<moritz> r​: sub foo() { say 'here'; LEAVE say 'not here' }; foo;
<p6eval> rakudo 332540​: OUTPUT«here␤not here␤»

Fixed after the recent multi-dispatch changes​:

multi sub foo() { say 'here'; LEAVE say 'not here'; }; foo;
here
not here

Tagging testneeded.

/jnthn

Test added in S04-phasers/enter-leave.t

--
Will "Coke" Coleda

@p6rt
Copy link
Author

p6rt commented Mar 29, 2013

@coke - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Mar 29, 2013
@p6rt p6rt added the testneeded label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant