# New Ticket Created by  Sir Robert Burbridge 
# Please include the string:  [perl #115286]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=115286 >


Methods and subs handle argument expansion differently (and unexpectedly
so):

multi sub foo (:$A) { say "A" };
multi sub foo (:$B) { say "B" };

my $str = 'B';

foo |($str => True);  # output:  B


The version below, however, says 'A' instead of 'B'.

class M {
  multi method foo (:$A) { say "A" };
  multi method foo (:$B) { say "B" };
}

my $str = 'B';
M.new.foo: |($str => True); # output: A

Reply via email to