Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes.
Set by lizmat on 24 May 2021.
Nicholas good *, * 06:13
lizmat While looking at wtf is going on with github.com/rakudo/rakudo/issues/5057 12:01
I came up with this piece of code gist.github.com/lizmat/39dfb5bb4a8...cc40294b9c 12:02
which is clearly a case of DIHWIDT
what surprised me however, is that the results are inconsistent in the sense that it sometimes it deletes all keys, but sometimes it actually misses keys that had been added to the hash already when the iterator was created 12:03
basicallly it comes down to: 12:05
lizmat m: dd my $a := "abcde".comb.BagHash.>>--; dd $a 12:07
camelia ("b"=>1).BagHash
("b"=>1).BagHash
lizmat m: dd (my $a := "abcde".comb.BagHash).>>--; dd $a
camelia ("e"=>1).BagHash
().BagHash
lizmat longer version: 12:10
m: dd (my $a := "abcde".comb.BagHash).deepmap(&postfix:<-->); dd $a 12:11
camelia ("e"=>1).BagHash
().BagHash
lizmat nvm I found the issue, thanks for the rubberducking :) 12:15
the issue is with deepmap 12:23