develooper Front page | perl.perl6.compiler | Postings from February 2018

[perl #129114] [BUG] state variable declared inside of a {}interpolation in a string, attaches to wrong scope

Thread Previous
From:
Jan-Olof Hendig via RT
Date:
February 6, 2018 13:51
Subject:
[perl #129114] [BUG] state variable declared inside of a {}interpolation in a string, attaches to wrong scope
Message ID:
rt-4.0.24-5194-1517925083-1426.129114-80-0@perl.org
On Sun, 28 Aug 2016 02:56:47 -0700, smls75@gmail.com wrote:
> This is how a state variable normally works:
> 
> ➜  for ^2 { for ^2 { say (state $a)++ } }
> 0
> 1
> 0
> 1
> 
> But when it is declared inside a {} interpolation in a string, it
> misbehaves:
> 
> ➜  for ^2 { for ^2 { say "{ (state $a)++ }" } }
> 0
> 1
> 2
> 3
> 
> It's as if the state variable attaches to the scope of the outer loop
> or mainline, instead of the inner loop like it should.

Looks as if the code behaves as expected according to jnthn. See 
https://irclog.perlgeek.de/perl6-dev/2018-02-06#i_15783359

Rejecting issue.


Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About