# New Ticket Created by  "Carl Mäsak" 
# Please include the string:  [perl #78278]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=78278 >


<tylercurtis> Actually, maybe { /O/ } should be -> $_? { /O/ }
<masak> it is.
<masak> rakudo: my $b = { /O/ }; say $b.signature.count; say $b.signature.arity
<p6eval> rakudo 377615: OUTPUT«1␤0␤»
<jnthn> I'ts more like -> $_ = $OUTER::_ I guess
<masak> fair enuf.
<tylercurtis> Well, yes, that.
<masak> OUTER, and not CALLER?
<masak> rakudo: my $b; { $_ = 5; $b = { .say } }; $_ = 42; $b()
<p6eval> rakudo 377615: OUTPUT«42␤»
<masak> seems to me $_ defaults to $CALLER::_
* masak submits rakudobug
<tylercurtis> How does that distinguish between $OUTER::_ and
$CALLER::_? The calling scope is the same as the outer scope, no?
<masak> no, the outer scope has $_ = 5, but the calling scope has $_ = 42
<jnthn> rakudo: my $b; { my $_ = 5; $b = { .say } }; $_ = 42; $b()
<p6eval> rakudo 377615: OUTPUT«5␤»

jnthn says that the problem is that there's a binding to the outer
container rather than an assignment, and that the last evaluation
shows this.

Reply via email to