On 5/17/05, Aaron Sherman <[EMAIL PROTECTED]> wrote: > Let's say that that's true. You can certainly still end up in conflict: > > class A {...} > my A $a = A.new() but role { method x() {...} } > eval 'multi sub x(A $i:) {...}'; > > Now, the eval should work because A has no x method, but you do now have > a $a which will conflict on $a.x
Well, the way I see it is like so: class A {...} class A_anonymous_role is A { method x() {...} } my A $a = A_anonymous_role.new; eval 'multi sub x(A $i:)'; And that the method gets called because it's more specific than the multi. But that's assuming the transformation: class A { method x() {...} } To: multi sub x(A $self:) {...} Which could be wrong. I think I have pretty good cause to infer that, though. Luke