# New Ticket Created by Lloyd Fournier # Please include the string: [perl #128657] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=128657 >
role R { proto method foo {*} }; class A does R { multi method foo { say "A" } }; class B is A does R { }; B.foo === Use of uninitialized value of type Any in string context Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed in block <unit> at -e line 1 Cannot resolve caller foo(B); none of these signatures match: in block <unit> at -e line 1' === My opinion is that B should clone the dispatcher from A. Any candidates added in B would then be added to it. In any case, candidate merging should be smarter in classes that do the same role IMO.