# 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/dMwEKoUikS␤Multi 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«a␤a␤a␤A␤»

Where clauses should prevent multi-methods from conflicting.

Reply via email to