# New Ticket Created by  Zoffix Znet 
# Please include the string:  [perl #131483]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=131483 >


Some discussion: https://irclog.perlgeek.de/perl6-dev/2017-06-02#i_14675550

The crux of it is the type of `+@` slurpy changes, depending on the input, 
though on further examinations it seems only Seq is affected:

m: sub grab(+@a) { dd @a }; grab %(:42a, :72b); grab (1, (2, 3)); grab [1, (2, 
3)]; grab (1, (2, 3)).Seq
rakudo-moar 348891: OUTPUT: «[:a(42), :b(72)]␤[1, (2, 3)]␤[1, (2, 3)]␤(1, (2, 
3))␤»

In all of the examples above, the `@a` ends up being an Array, except for the 
last case (with Seq input), where it's a List.

This leads to two issues:
1) The inner list of the Seq did not get containerized, so we have 
inconsistencies in how the `+@` slurpy flattens
2) The List is immutable, so doing something like `@a[42] = 70` is currently 
never safe with a `+@` slurpy, because
    for some inputs it might end up being a List.

Seems like the Seq case needs fixing so it ends up being an Array as well.

Reply via email to