From: Shawn M Moore Date: Tue, 21 Apr 2009 07:15:26 +0000 (-0400) Subject: Changes doc for the new warning X-Git-Tag: 0.75_01~8 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=00c616034375068bea19cbc570a4ef0b1c2aa39c;p=gitmo%2FMoose.git Changes doc for the new warning --- diff --git a/Changes b/Changes index e9ea751..a2d927b 100644 --- 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) diff --git a/lib/Moose/Manual/Delta.pod b/lib/Moose/Manual/Delta.pod index 7bf622e..78b06d2 100644 --- a/lib/Moose/Manual/Delta.pod +++ b/lib/Moose/Manual/Delta.pod @@ -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 now warns about a class overriding methods from roles it +consumes. This warning is useful for discovering I 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), +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 now accepts the C<-metaclass> option for easily