We don't want two different inline code chunks to use the same var names or else...
Dave Rolsky [Sun, 10 Apr 2011 23:55:24 +0000 (18:55 -0500)]
This happens in the case of a type union of Str | Int, for example

lib/Moose/Util/TypeConstraints/Builtins.pm

index b595c4a..35c1390 100644 (file)
@@ -58,7 +58,7 @@ sub define_builtins {
         => inline_as {
             return (  qq{defined $_[1]}
                     . qq{&& (   ref(\\             $_[1] ) eq 'SCALAR'}
-                    . qq{    || ref(\\(my \$value = $_[1])) eq 'SCALAR')} );
+                    . qq{    || ref(\\(my \$str_value = $_[1])) eq 'SCALAR')} );
         };
 
     subtype 'Num'
@@ -74,7 +74,7 @@ sub define_builtins {
         => inline_as {
             return (  qq{defined $_[1]}
                     . qq{&& ! ref $_[1]}
-                    . qq{&& ( my \$value = $_[1] ) =~ /\\A-?[0-9]+\\z/} );
+                    . qq{&& ( my \$int_value = $_[1] ) =~ /\\A-?[0-9]+\\z/} );
         };
 
     subtype 'CodeRef'