On Tue, 2005-05-03 at 08:07, Larry Wall wrote:
> On Tue, May 03, 2005 at 07:59:19AM -0400, Aaron Sherman wrote:

> : On a side note about auto-accessors, if I say:
> : 
> :     class X {
> :             has $.foo;
> :     }
> :     class Y is X {
> :             has %.foo;
> :     }
> : 
> : What happens to the accessors for X.foo?
> 
> Overridden just like any such method.

Are has declarations ordered as they appear?

That is, does:

        has $.foo;
        has %.foo;

give me an accessor for %.foo or for whatever one happened to be
declared last?

NOTE: Either way, I think the above should at least issue a warning that
you're overriding the definition of the auto-accessor declared within
the same class definition, and the same should probably happen with
composition sources (though not inheritance). This is implied in S12
when it says that roles auto-detect conflicting methods, but should
explicitly refer to attributes as well.

-- 
Aaron Sherman <[EMAIL PROTECTED]>
Senior Systems Engineer and Toolsmith
"It's the sound of a satellite saying, 'get me down!'" -Shriekback


Reply via email to