Fix weird bug that is probably a bug in List::MoreUtils
Dave Rolsky [Tue, 14 Sep 2010 16:18:09 +0000 (11:18 -0500)]
lib/Moose/Meta/TypeConstraint/Union.pm

index 658e810..c8c7ce1 100644 (file)
@@ -7,7 +7,6 @@ use metaclass;
 
 use Moose::Meta::TypeCoercion::Union;
 
-use List::MoreUtils qw(any);
 use List::Util qw(first);
 
 our $VERSION   = '1.13';
@@ -46,7 +45,9 @@ sub coercion {
 
     return $self->{coercion} if exists $self->{coercion};
 
-    if ( any { $_->has_coercion } @{ $self->type_constraints } ) {
+    # Using any instead of grep here causes a weird error with some corner
+    # cases when MX::Types is in use. See RT #61001.
+    if ( grep { $_->has_coercion } @{ $self->type_constraints } ) {
         return $self->{coercion} = Moose::Meta::TypeCoercion::Union->new(
             type_constraint => $self );
     }