On Fri, Apr 23, 2004 at 02:37:58PM -0700, Jonathan Lang wrote: : Note that the problem extends past accessors: a role's methods can access : its attributes directly. So: : : role A {has Cat $.x; method m1 {return $.x;};} : role B {has Dog $.x; method m2 {return $.x;};} : class Foo {does Cat; does Dog;} : my Foo $bar; : $bar.m1; # returns $A::x, right? : $bar.m2; # returns $B::x, right? : : If the two $.x's are completely equivelent, you end up with redundant data : storage.
Actually, it'd blow up at composition time anyway, since there's a default readonly accessor for each $.x variable. : : Then again, this may be more of a quirk than a problem... I'd like to think so. But then, I thought that about a lot of Perl 5 OO... Larry