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

index 192e3c9..ed9f398 100644 (file)
@@ -87,8 +87,7 @@ sub apply_all_roles {
     }
 
     foreach my $role (@$roles) {
-        unless ( $role->[0]->can('meta')
-            && $role->[0]->meta->isa('Moose::Meta::Role') ) {
+        unless (Class::MOP::class_of($role->[0])->isa('Moose::Meta::Role') ) {
 
             require Moose;
             Moose->throw_error( "You can only consume roles, "