http://www.perlmonks.org?node_id=1156041


in reply to Re: Moo role subclassing
in thread Moo role subclassing

Thank you for the response; I omitted the code where the roles are used, but it would look something like this:

package App; use Moo; with 'BasicRole'; ... package AnotherApp; use Moo; with 'SpecialRole'; ...

Since Moo does not allow roles to be extended, I am wondering if there is some magical, elegant way to implement what would essentially be subclasses of roles. I have some ugly, inelegant ideas for implementation, but was hoping that there might be something I'd missed.

Replies are listed 'Best First'.
Re^3: Moo role subclassing
by Laurent_R (Canon) on Feb 24, 2016 at 17:52 UTC
    The whole point about roles is that they don't belong to an inheritance hierarchy and avoid thus the trouble sometimes associated with complex inheritance trees. Roles are composed into classes (and perhaps even, I do not know in the case of Moo, into object instances), but they don't inherit not can be subclassed.

    If you need inheritance and subclassing, use a class instead.