Well, this bug is gone, then. I added a test to S32-array/delete.t with the
following commit: https://github.com/perl6/roast/commit/f386c96536
I had (and have) some difficulties to find the references in the spec for the
correct behaviour -- especially with regard to the following quotes from an
It looks like deleting the last element of an array no longer deletes the
undefined elements before it:
> my $foo = [0,1,2,3,4]; say $foo.elems; say $foo.perl
5
[0, 1, 2, 3, 4]
> $foo[4] = Any; $foo[3] = Any; say $foo.elems; say $foo.perl
5
[0, 1, 2, Any, Any]
> $foo[4] :delete; say $foo.elems; s
don't know about nqp, but on JVM we keep a constant value in
QRPA which says how many elements are there
it probably needs to be updated when we set Mu somewhere
the problem is that if you delete an element that's not the
last, it set to Mu
because we don't have an offchannel way to store an
# New Ticket Created by "Carl Mäsak"
# Please include the string: [perl #116695]
# in the subject line of all future correspondence about this issue.
# https://rt.perl.org:443/rt3/Ticket/Display.html?id=116695 >
I have found a rakudo bug
my $foo = [0,1,2,3,4];say $foo.elems;$foo[4] = Mu;$fo