> 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