class_of Util::apply_all_roles 2/2
Shawn M Moore [Sat, 28 Mar 2009 21:29:29 +0000 (17:29 -0400)]
lib/Moose/Util.pm

index ed9f398..66b0bc6 100644 (file)
@@ -98,7 +98,8 @@ sub apply_all_roles {
 
     if ( scalar @$roles == 1 ) {
         my ( $role, $params ) = @{ $roles->[0] };
-        $role->meta->apply( $meta, ( defined $params ? %$params : () ) );
+        my $role_meta = Class::MOP::class_of($role);
+        $role_meta->apply( $meta, ( defined $params ? %$params : () ) );
     }
     else {
         Moose::Meta::Role->combine( @$roles )->apply($meta);