On Mon Jan 11 05:46:19 2016, lloyd.fo...@gmail.com wrote:
> role Foo { has $.foo; }; Foo.^attributes[0].package.^name.say #->$?CLASS

Just to note that this behavior is intentional rather than accidental (or at 
least, *I* intended it :-)). Roles undergo generic instantiation at the point 
of being composed into a class, during which the package is substituted for the 
type of the class itself. This is important for things like accessor generation 
to work, since after composition the attributes need to be resolved as if they 
really are in the class.

We might want a declaring-package that is non-generic, if there's a strong 
enough use case. And the method inconsistency may want resolving.

Reply via email to