On Fri, 28 Apr 2017 10:40:49 -0700, c...@zoffix.com wrote: > On Fri, 28 Apr 2017 09:36:52 -0700, cookbook_...@yahoo.co.jp 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.