Small refactor and class_of in MetaRole::_make_new_metaclass
Shawn M Moore [Sat, 28 Mar 2009 21:33:44 +0000 (17:33 -0400)]
lib/Moose/Util/MetaRole.pm

index 4855867..70f9a16 100644 (file)
@@ -53,10 +53,9 @@ sub _make_new_metaclass {
             instance_metaclass
     );
 
+    my $old_meta = Class::MOP::class_of($for);
     my $new_metaclass
-        = _make_new_class( ref $for->meta(), $options->{metaclass_roles} );
-
-    my $old_meta = $for->meta();
+        = _make_new_class( ref $old_meta, $options->{metaclass_roles} );
 
     # This could get called for a Moose::Meta::Role as well as a Moose::Meta::Class
     my %classes = map {