On Wed, 2004-04-21 at 04:19, Buddha Buck wrote:

>  From one C6PAN module:
> 
> role Dog {
>    has $.collar;
>    ...
> }

>  From a third C6PAN module:
> 
> class PoliceDog does Dog does LawEnforcementOfficer { ... }

> role LawEnforcementOfficer {
>    method arrest { ... }
>    has $.collar;    # for holding most recently arrested
>    ...
> }
> 
> So when my program fails to compile, who do I blame?

Whoever didn't read the documentation for the appropriate roles.  :)

>   How do I fix it
> quickly, preferrably without creating local branches of the C6PAN modules?

* Add a disambiguatey method to PoliceDog that dispatches
appropriately.  (Insert handwavey "well you *could* do it this way or
you *might* do it that way.")

* Force the loading of a specific version of LawEnforcementOfficer.

-- c

Reply via email to