On Tue, May 03, 2005 at 08:29:22AM -0400, Aaron Sherman wrote: : 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?
Neither--I'd think that'd be a fatal compile-time error. : 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. Probably. Larry