# 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.

Reply via email to