# New Ticket Created by Zoffix Znet
# Please include the string: [perl #132184]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=132184 >
- Seq.skip mutates the invocant:
$ ./perl6 -e 'my $s := (1, 2, 3).Seq; $ = $s.skip; say $s'
(2 3)
- List.skip does not:
$ ./perl6 -e 'my $s := (1, 2, 3); $ = $s.skip; say $s'
(1 2 3)
And the real pain point is that a cached Seq is basically a list.
Currently, .skip on a Seq crashes. I tried to fix[^1] the crash, but
the fixed version has these inconsistent semantics that `Seq.skip`
will either modify the invocant or not, depending on whether the Seq
is cached.
$ ./perl6 -e 'm: my $s := (1, 2, 3).Seq; $s.cache; $ = $s.skip; say $s'
(1 2 3)
$ ./perl6 -e 'm: my $s := (1, 2, 3).Seq; $ = $s.skip; say $s'
(2 3)
I don't see .skip in 6.c tests, so I think we still have a chance to
improve it. The question's: how? Any ideas?
[1] https://gist.github.com/zoffixznet/98ee33398ac7979c0adc4a4a88696b85