> On 14 Dec 2015, at 09:10, Sam S. (via RT) <perl6-bugs-follo...@perl.org> 
> wrote:
> 
> # New Ticket Created by  Sam S. 
> # Please include the string:  [perl #126913]
> # in the subject line of all future correspondence about this issue. 
> # <URL: https://rt.perl.org/Ticket/Display.html?id=126913 >
> 
> 
> Consider this code:
> 
>    multi x (:$a, *%_) { say 1 }
>    multi x (:$b)      { say 2 }
>    x :b
> 
> I would expect it to print 2, because the second candidate explicitly handles 
> the :b named parameter, which is more specific than the *%_ catch-all slurpy.
> 
> But alas, it prints 1 in current Rakudo.

ENOTABUG

This happens because named parameters are by default optional.  You have to 
make them mandatory for MMD to happen:

multi x (:$a!, *%_) { say 1 }
multi x (:$b!)      { say 2 }
x :b
2



Liz

Reply via email to