On Fri, 28 Apr 2017 10:40:49 -0700, [email protected] wrote:
> On Fri, 28 Apr 2017 09:36:52 -0700, [email protected] wrote:
> > See the following result:
> >
> > $ perl6 -e '["1:0.470572470261861",
> > "2:0.579981821025709"]>>.split(":", :skip-empty).sort({ $^b[0] <=>
> > $^a[0] }).perl.say;'
> > (Seq.new-consumed(), Seq.new-consumed()).Seq
> >
> >
> > I think if sort method cannot look (i.e. consume) a Nth-indexed value
> > (e.g. $^b[0], $^b[1], ...) and this behavior is a specced one, it
> > should return a warning message.
> >
> >
> > $ perl6 --version
> > This is Rakudo version 2017.03-217-ge681498 built on MoarVM version
> > 2017.03-115-ge8231a3
> > implementing Perl 6.c.
>
>
> Thank you for the report. This is now fixed.
>
> The Seqs aren't actually consumed; it was a bug in .perl wrongly
> saying they're consumed.
>
> Fix: https://github.com/rakudo/rakudo/commit/54f50956ad
> Test: https://github.com/perl6/roast/commit/7d4092d940
Thanks for fixing a bug.
However, if leaving out a .perl calling, the following example also cause the
issue in my environment:
$ perl6 -e 'for ["1:0.470572470261861", "2:0.579981821025709"]>>.split(":",
:skip-empty).sort({ $^b[0] <=> $^a[0] }) -> ($k,$v) { ($k,$v).say }'
Too few positionals passed; expected 2 arguments but got 0 in sub-signature
in block <unit> at -e line 1
$ perl6 --version
This is Rakudo version 2017.03-217-ge681498 built on MoarVM version
2017.03-115-ge8231a3
implementing Perl 6.c.