On Tue May 04 14:13:17 2010, masak wrote: > <masak> rakudo: sub foo(@a) { @a[1] = "NOES" }; my @a = <OH HAI>; > foo(@a); say ~@a > <p6eval> rakudo 1eef08: OUTPUT«OH NOES» > <masak> is this supposed to be allowed? > <pmichaud> masak: I haven't seen a clear answer to that question. > <masak> pmichaud: ISTR there was some wording in the spec about the > readonlyness stretching 'one level down' into arrays/hashes, but I > can't find it now, despite trying. > <pmichaud> masak: From an implementation perspective, I see nothing > but pain in trying to make that happen. > <masak> pmichaud: anyway, this already fails: > <masak> rakudo: sub foo(@a) { @a[0, 1] = <OH NOES> }; my @a = 0, 1; foo(@a) > <p6eval> rakudo 1eef08: OUTPUT«Cannot assign to readonly value [...] > <masak> so something is inconsistent, at least. > * masak submits rakudobug
Behavior changed: > sub foo(@a) { @a[1] = "NOES" }; my @a = <OH HAI>; OH HAI > sub foo(@a) { @a[0, 1] = <OH NOES> }; my @a = 0, 1; foo(@a) OH NOES -- Will "Coke" Coleda