[perl #131548] [BUG] andthen weirdness with lexicals

[email protected] ("Zoffix Znet via RT")
Newsgroups perl.perl6.compiler
Message-ID <[email protected]>
On Fri, 09 Jun 2017 12:48:55 -0700, [email protected] wrote:
> Example code:
> 
> $ cat bug.p6
> for ^7 {
>     my $x = 1;
>     1 andthen print "$x "
>       andthen $x = 2
>       andthen $x = 3
>       andthen $x = 4;
> }
> 
> Output:
> 
> $ perl6 bug.p6
> 1 4 3 3 3 3 3
> 
> We apparently create a closure over the wrong value of $x.
> 
> $ perl6 --version
> This is Rakudo version 2017.05-356-gac8b4714f built on MoarVM version
> 2017.05-50-g6a372ac4
> implementing Perl 6.c.
> 
> See also https://irclog.perlgeek.de/perl6/2017-06-09#i_14711768


Thank you for the report. This is now fixed.

Fix:  https://github.com/rakudo/rakudo/commit/1ee89b54074e80c
Test: https://github.com/perl6/roast/commit/2f2998733a2d8132c
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.