unoptimized RoleName class_of
Shawn M Moore [Sat, 28 Mar 2009 21:41:51 +0000 (17:41 -0400)]
lib/Moose/Util/TypeConstraints.pm

index bd1f63b..6d902aa 100644 (file)
@@ -670,8 +670,7 @@ subtype 'ClassName' => as 'Str' =>
     \&Moose::Util::TypeConstraints::OptimizedConstraints::ClassName;
 
 subtype 'RoleName' => as 'ClassName' => where {
-    ( ( $_->can('meta') || return )->($_) || return )
-        ->isa('Moose::Meta::Role');
+    (Class::MOP::class_of($_) || return)->isa('Moose::Meta::Role');
 } => optimize_as
     \&Moose::Util::TypeConstraints::OptimizedConstraints::RoleName;