From: Karen Etheridge Date: Mon, 18 Jul 2011 17:29:07 +0000 (-0700) Subject: MI issues exist with all method modifiers X-Git-Tag: 2.0200~3 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=49d85bb58216f373e0398f0fd47780db82d30e26;p=gitmo%2FMoose.git MI issues exist with all method modifiers --- diff --git a/lib/Moose/Manual/MethodModifiers.pod b/lib/Moose/Manual/MethodModifiers.pod index 15bb438..58bb96a 100644 --- a/lib/Moose/Manual/MethodModifiers.pod +++ b/lib/Moose/Manual/MethodModifiers.pod @@ -273,13 +273,6 @@ object is an instance of C then this call is a no-op, and just returns false. It's a good idea to always call C to allow for future subclassing. -=head2 CAVEATS - -Inner/augment does not work well with multiple inheritance (that is, a -sub augmenting one defined in more than one parent), due to how C -looks for implementations in parent classes. - - =head1 OVERRIDE AND SUPER Finally, Moose provides some simple sugar for Perl's built-in method @@ -317,3 +310,12 @@ semi-colon: after 'foo' => sub { }; =cut + +=head1 CAVEATS + +These method modification features do not work well with multiple inheritance, +due to how method resolution is performed in Perl. Experiment with a test +program to ensure your class heiarchy works as expected, or more preferably, +don't use multiple inheritance (roles can help with this)! + +