pugs-comm...@feather.perl6.nl wrote:
Author: jnthn
Date: 2009-12-10 18:09:51 +0100 (Thu, 10 Dec 2009)
New Revision: 29307

[spec] Kill the same type = attribute composition OK rule; now it's just always 
a conflict.

Modified: docs/Perl6/Spec/S14-roles-and-parametric-types.pod
--- docs/Perl6/Spec/S14-roles-and-parametric-types.pod  2009-12-10 17:02:24 UTC 
(rev 29306)
+++ docs/Perl6/Spec/S14-roles-and-parametric-types.pod  2009-12-10 17:09:51 UTC 
(rev 29307)
@@ -185,9 +185,8 @@
 class), then each role's methods can be installed in the class.  If,
 however, two roles try to introduce a method of the same name the
 composition of the class fails.  (Two C<has> attributes of the same
-name, whether public or private, are simply merged into one slot,
-provided the types are the same; otherwise, the composition fails.
-Role-private attributes are not merged, and from the viewpoint of
+name, whether public or private, are always a composition fail.
+Role-private attributes are exempt from this, and from the viewpoint of
 the composition, don't even exist, except to allocate a slot for each
 such attribute.)

That's great! The previous behavior was foolish, relying on assumptions that aren't generally true, and the new version is much better. -- Darren Duncan

Reply via email to