Changes doc for the new warning
Shawn M Moore [Tue, 21 Apr 2009 07:15:26 +0000 (03:15 -0400)]
Changes
lib/Moose/Manual/Delta.pod

diff --git a/Changes b/Changes
index e9ea751..a2d927b 100644 (file)
--- a/Changes
+++ b/Changes
@@ -2,6 +2,10 @@ Also see Moose::Manual::Delta for more details of, and workarounds
 for, noteworthy changes.
 
 0.76
+    * Moose::Meta::Role::Application::ToClass
+      - Moose now warns about each class overriding methods from roles it
+        consumes (Sartak)
+
     * Tests
       - Warnings tests have standardized on Test::Output which is now an
         unconditionally dependency (Sartak)
index 7bf622e..78b06d2 100644 (file)
@@ -16,6 +16,27 @@ feature.  If you encounter a problem and have a solution but don't see
 it documented here, or think we missed an important feature, please
 send us a patch.
 
+=head1 Version 0.76
+
+L<Moose> now warns about a class overriding methods from roles it
+consumes. This warning is useful for discovering I<accidental> name
+collisions, which is part of why using roles is much less painful than
+multiple inheritance. You can silence this warning by explicitly
+excluding methods you override from roles. For example,
+
+    package Role;
+    sub foo { "Default role implementation" }
+
+    package Class;
+    with 'Role' => { excludes => 'foo' };
+    sub foo { "Overriding class implementation" }
+
+Since this warning has been decried by some (such as chromatic in
+L<http://www.modernperlbooks.com/mt/2009/04/the-value-of-a-warning.html>),
+we ask that you provide feedback about whether this warning has helped or
+hindered you. If it turns out to have been a bad idea, we will not
+hesitate to remove it from future versions.
+
 =head1 Version 0.75
 
 L<Moose::Exporter> now accepts the C<-metaclass> option for easily