The first example works now as expected:

$ perl6-m -e 'sub foo ($a, $f) { if $f { foo("z", 0) }; given $a {say $a; say 
$_} }; foo("x", 1)'
z
z
x
x

The second example works on rakudo.jvm but fails on rakudo.moar:

$ perl6-j -e 'sub foo ($a, $f) { if $f { foo("z", 0) }; {$_=$a; say $a; say $_} 
}; foo("x", 1)'
z
z
x
x

$ perl6-m -e 'sub foo ($a, $f) { if $f { foo("z", 0) }; {$_=$a; say $a; say $_} 
}; foo("x", 1)'
z
z
z
z

I added two tests (the second fudged 'todo' for Moar) to 
S06-advanced/lexical-subs.t with commit 
https://github.com/perl6/roast/commit/0867f11ce3

Reply via email to