# New Ticket Created by "Brian S. Julin" # Please include the string: [perl #127024] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=127024 >
Regression: (09:41:06 PM) skids: m: role A { multi method a ($ where { $_.say; $_ ~~ /a/ } ) { "A".say }; }; role B { multi method a ($ where { $_.say; $_ ~~ /b/ } ) { "B".say } }; class C does A does B { }; C.new.a("a"); (09:41:07 PM) camelia: rakudo-moar e360bd: OUTPUT«===SORRY!=== Error while compiling /tmp/dMwEKoUikSMulti method 'a' with signature :(C $: $ where { ... }, *%_) must be resolved by class C because it exists in multiple roles (B, A)at /tmp/dMwEKoUikS:1» (09:41:36 PM) skids: star: role A { multi method a ($ where { $_.say; $_ ~~ /a/ } ) { "A".say }; }; role B { multi method a ($ where { $_.say; $_ ~~ /b/ } ) { "B".say } }; class C does A does B { }; C.new.a("a"); (09:41:37 PM) camelia: star-m 2015.09: OUTPUT«aaaA» Where clauses should prevent multi-methods from conflicting.