allow inlining if the type has been subsequently defined
[gitmo/MooseX-Types.git] / lib / MooseX / Types / UndefinedType.pm
index 2e4ce6b..97e4031 100644 (file)
@@ -1,11 +1,4 @@
 package MooseX::Types::UndefinedType;
-our $VERSION = "0.22";
-
-=head1 NAME
-
-MooseX::Types::UndefinedType - Represents a not yet defined type
-
-=cut
 
 use warnings;
 use strict;
@@ -67,6 +60,22 @@ sub __autovivify {
     }
 }
 
+=head2 can_be_inlined
+
+Make sure that if a type hasn't been defined yet when Moose wants to inline it,
+we don't allow inlining.
+
+=cut
+
+sub can_be_inlined {
+    my $self = shift;
+    if(my $type_constraint = $self->__autovivify) {
+        return $type_constraint->can_be_inlined;
+    } else {
+        return;
+    }
+}
+
 =head2 AUTOLOAD
 
 Try to autovivify and delegate
@@ -102,10 +111,6 @@ L<Moose::Util::TypeConstraints>,
 L<Moose::Meta::TypeConstraint>,
 L<Carp::Clan>
 
-=head1 AUTHOR
-
-See L<MooseX::Types/AUTHOR>.
-
 =head1 LICENSE
 
 This program is free software; you can redistribute it and/or modify