Summary: the original trait researches did intend for class methods to have 
precedence over roles methods in composition, but they had no intention that it 
do so silently.  In fact, they go on to say that doing so silently would be a 
bad idea.  One way of resolving this is to do what Sun finally realized that 
Java needed to do: they provide an @Override annotation for methods which 
override parent methods.  The compiler should warn if an overridden method is 
not annotated as such 
(http://java.sun.com/javase/7/docs/api/java/lang/Override.html).

See http://use.perl.org/~Ovid/journal/39751 for more information, including 
relevant correspondence with the researches (used with permission).

Would Perl 6 consider a feature to add a warning if a class method silently 
takes precedence over a role method?

Cheers,
Ovid
--
Buy the book         - http://www.oreilly.com/catalog/perlhks/
Tech blog            - http://use.perl.org/~Ovid/journal/
Twitter              - http://twitter.com/OvidPerl
Official Perl 6 Wiki - http://www.perlfoundation.org/perl6

Reply via email to