From 0a6456a4a4b49b4abd02d11628120582f5870f8a Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Thu, 26 Mar 2020 23:29:17 +0100 Subject: [PATCH] Fix regression in sequence operator Fixes #3570. Apparently, .take flattens and take($_) does not. Basically reverts 9286def3c85028a60f9 . --- src/core.c/Rakudo/SEQUENCE.pm6 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core.c/Rakudo/SEQUENCE.pm6 b/src/core.c/Rakudo/SEQUENCE.pm6 index d50fc8d2a01..3f9fd8bfd79 100644 --- a/src/core.c/Rakudo/SEQUENCE.pm6 +++ b/src/core.c/Rakudo/SEQUENCE.pm6 @@ -126,7 +126,7 @@ class Rakudo::SEQUENCE { for flat @a Z @e -> $from, $to { @ranges.push: $($from ... $to); } - my $ = take $_ for flat [X~] @ranges; # don't sink return of take() + my $ = .take for flat [X~] @ranges; # don't sink return of take() $stop = 1; } elsif $a lt $endpoint { @@ -319,7 +319,7 @@ class Rakudo::SEQUENCE { if $stop { } elsif &producer { - my $ = take $_ for @tail; # don't sink return of take() + my $ = .take for @tail; # don't sink return of take() my $count := &producer.count; until $stop { @@ -335,20 +335,20 @@ class Rakudo::SEQUENCE { ) unless $end_code_arity == -Inf; if $endpoint(|@end_tail) { - my $ = take value unless $exclude_end; # don't sink return of take() + my $ = value.take unless $exclude_end; # don't sink return of take() $stop = 1; } } } elsif $endpoint.ACCEPTS(value) { - my $ = take value unless $exclude_end; # don't sink return of take() + my $ = value.take unless $exclude_end; # don't sink return of take() $stop = 1; } if $stop { } else { @tail.push(value); - my $ = take value; # don't sink return of take() + my $ = value.take; # don't sink return of take() } } }