Skip Menu |
Report information
Id: 128657
Status: new
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: lloyd.fourn [at] gmail.com
Cc:
AdminCc:

Severity: (no value)
Tag: Bug
Platform: (no value)
Patch Status: (no value)
VM: (no value)



Subject: [BUG] multi from parent which does same role doesn't work
To: "rakudobug [...] perl.org" <rakudobug [...] perl.org>
From: Lloyd Fournier <lloyd.fourn [...] gmail.com>
Date: Mon, 18 Jul 2016 03:36:50 +0000
Download (untitled) / with headers
text/plain 584b

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.




This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org