support imported types (types-tiny, MXT)
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Action.pm
index 58693af..274ffd9 100644 (file)
@@ -100,13 +100,19 @@ has args_constraints => (
       return \@args;
     } else {
       @args =
-        map { Moose::Util::TypeConstraints::find_or_parse_type_constraint($_) || die "$_ is not a constraint!" } 
+        map {  $self->resolve_type_constraint($_) || die "$_ is not a constraint!" }
         @arg_protos;
     }
 
     return \@args;
   }
 
+sub resolve_type_constraint {
+  my ($self, $name) = @_;
+  my $tc = eval "package ${\$self->class}; $name" || undef;
+  return $tc || Moose::Util::TypeConstraints::find_or_parse_type_constraint($name);
+}
+
 use overload (
 
     # Stringify to reverse for debug output etc.