From 341f6e541df9b400daf96fd8c0465663e4ad0837 Mon Sep 17 00:00:00 2001 From: Jonathan Worthington Date: Thu, 9 Jul 2015 14:16:21 +0200 Subject: [PATCH] Look harder for existing *%_ or | pre-autogen. Fixes RT #125513. --- src/Perl6/World.nqp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Perl6/World.nqp b/src/Perl6/World.nqp index 04587f497ec..3afe4e9a82c 100644 --- a/src/Perl6/World.nqp +++ b/src/Perl6/World.nqp @@ -1544,7 +1544,7 @@ class Perl6::World is HLL::World { is_multi_invocant => 1 )); } - unless @params[+@params - 1] || @params[+@params - 1] { + unless has_named_slurpy_or_capture(@params) { unless nqp::can($*PACKAGE.HOW, 'hidden') && $*PACKAGE.HOW.hidden($*PACKAGE) { @params.push(hash( variable_name => '%_', @@ -1641,6 +1641,13 @@ class Perl6::World is HLL::World { self.create_signature(%signature_info) } + sub has_named_slurpy_or_capture(@params) { + for @params { + return 1 if $_ || $_; + } + 0 + } + # Creates a signature object from a set of parameters. method create_signature(%signature_info) { # Create signature object now.