Enum needs to check that the value is not a ref
[gitmo/Moose.git] / lib / Moose / Meta / TypeConstraint / Enum.pm
index 2a7beb7..10e7c1e 100644 (file)
@@ -23,7 +23,8 @@ my $inliner = sub {
     $ENUMS{$name} ||= { map { $_ => 1 } @{ $self->values() } };
 
     return
-          "defined $val && " . '$'
+          "defined $val"
+        . "&& ! ref $val" . '&& $'
         . __PACKAGE__
         . '::ENUMS{'
         . B::perlstring($name)