[Moose-commits] r7675 - Moose/trunk/lib/Moose/Util

autarch at code2.0beta.co.uk autarch at code2.0beta.co.uk
Sat Feb 14 15:11:03 GMT 2009


Author: autarch
Date: 2009-02-14 07:11:03 -0800 (Sat, 14 Feb 2009)
New Revision: 7675

Modified:
   Moose/trunk/lib/Moose/Util/MetaRole.pm
Log:
Remove docs about metaclass incompat problems, which should be fixed


Modified: Moose/trunk/lib/Moose/Util/MetaRole.pm
===================================================================
--- Moose/trunk/lib/Moose/Util/MetaRole.pm	2009-02-14 15:07:06 UTC (rev 7674)
+++ Moose/trunk/lib/Moose/Util/MetaRole.pm	2009-02-14 15:11:03 UTC (rev 7675)
@@ -219,44 +219,6 @@
 
 This function will apply the specified roles to the object's base class.
 
-=head1 PROBLEMS WITH METACLASS ROLES AND SUBCLASS
-
-Because of the way this module works, there is an ordering problem
-which occurs in certain situations. This sequence of events causes an
-error:
-
-=over 4
-
-=item 1.
-
-There is a class (C<ClassA>) which uses some extension(s) that apply
-roles to the metaclass.
-
-=item 2.
-
-You have another class (C<ClassB>) which wants to subclass C<ClassA> and
-apply some more extensions.
-
-=back
-
-Normally, the call to C<extends> will happen at run time, I<after> the
-additional extensions are applied. This causes an error when we try to
-make the metaclass for C<ClassB> compatible with the metaclass for
-C<ClassA>.
-
-We hope to be able to fix this in the future.
-
-For now the workaround is for C<ClassB> to make sure it extends C<ClassA>
-I<before> it loads extensions:
-
-  package ClassB;
-
-  use Moose;
-
-  BEGIN { extends 'ClassA' }
-
-  use MooseX::SomeExtension;
-
 =head1 AUTHOR
 
 Dave Rolsky E<lt>autarch at urth.orgE<gt>




More information about the Moose-commits mailing list