On Mon, 04 Dec 2017 12:31:28 -0800, alex.jakime...@gmail.com wrote:
> FWIW it never worked:
> https://gist.github.com/Whateverable/d9dbebb0e985a3964845df2c8652cbdf
> 
> On 2017-11-27 17:36:22, comdog wrote:
> > I previously asked about this unexpected Z behavior on Stackoverflow
> > ( https://stackoverflow.com/q/45001820/2766176 ).
> >
> > I expected this to change several hash keys at once. It changes no keys:
> >
> > my $hash = %(
> > wallet => 100,
> > gave => 0,
> > received => 0,
> > );
> >
> > for ^1 { $hash<wallet gave> Z+= <-1 1> }
> >
> > dd $hash;
> >
> > I get:
> >
> > Hash $hash = ${:gave(0), :received(0), :wallet(100)}
> >
> > If I change that to add another statement it works:
> >
> > for ^1 { $hash<wallet gave> Z+= <-1 1>; True }
> >
> > It also works if I take out the binary assignment:
> >
> > for ^1 { $hash<wallet gave> = $hash<wallet gave> Z+ <-1 1> }


Thank you for the report. This is now fixed.

Fix:  https://github.com/rakudo/rakudo/commit/8a10fc17a319029
Test: https://github.com/perl6/roast/commit/01b59fba66bde1e61

Reply via email to