Fix subtyping issue
gfx [Mon, 19 Oct 2009 09:26:50 +0000 (18:26 +0900)]
lib/Mouse/Meta/TypeConstraint.pm

index 9dd67db..d4a9284 100644 (file)
@@ -101,11 +101,11 @@ sub compile_type_constraint{
     my @checks;
     for(my $parent = $self->parent; defined $parent; $parent = $parent->parent){
          if($parent->{hand_optimized_type_constraint}){
-            push @checks, $parent->{hand_optimized_type_constraint};
+            unshift @checks, $parent->{hand_optimized_type_constraint};
             last; # a hand optimized constraint must include all the parents
         }
         elsif($parent->{constraint}){
-            push @checks, $parent->{constraint};
+            unshift @checks, $parent->{constraint};
         }
     }