We need to make sure Moose is loaded before using
[gitmo/Moose.git] / lib / Moose / Meta / TypeConstraint / Parameterizable.pm
index 9ee6236..02b49eb 100644 (file)
@@ -57,8 +57,10 @@ sub parameterize {
     
     if(my $parent = $self->parent) {
         if($parent->can('type_parameter')) {
-            $contained_tc->is_a_type_of($parent->type_parameter)
-             || Moose->throw_error("$type_parameter is not a subtype of ".$parent->type_parameter);
+            unless ( $contained_tc->is_a_type_of($parent->type_parameter) ) {
+                require Moose;
+                Moose->throw_error("$type_parameter is not a subtype of ".$parent->type_parameter);
+            }
         }
     }
 
@@ -71,6 +73,7 @@ sub parameterize {
         );
     }
     else {
+        require Moose;
         Moose->throw_error("The type parameter must be a Moose meta type");
     }
 }