]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix unit test failure in compiler
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Wed, 3 Sep 2008 22:24:06 +0000 (17:24 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Wed, 3 Sep 2008 22:24:06 +0000 (17:24 -0500)
core/classes/mixin/mixin.factor
core/compiler/units/units.factor

index 56e995899b815024a58a22bc54c8ce1d891514be..d569103d9715564edf6b47d4dcbc51b0d512ea2b 100755 (executable)
@@ -62,10 +62,13 @@ TUPLE: check-mixin-class mixin ;
     ] if-mixin-member? ;
 
 : remove-mixin-instance ( class mixin -- )
+    #! The order of the three clauses is important here. The last
+    #! one must come after the other two so that the entries it
+    #! adds to changed-generics are not overwritten.
     [
-        [ class-usages update-methods ]
         [ [ swap remove ] change-mixin-class ]
         [ nip update-classes ]
+        [ class-usages update-methods ]
         2tri
     ] [ 2drop ] if-mixin-member? ;
 
index fa29a5a519111b38d6b980abb76ebc0fd7e90f67..cb361ec9e62c5adedaeec55db0ac8d6d3180e232 100755 (executable)
@@ -110,8 +110,7 @@ SYMBOL: update-tuples-hook
 : (compiled-generic-usages) ( generic class -- assoc )
     dup class? [
         [ compiled-generic-usage ] dip
-        [ [ classes-intersect? ] [ null class<= ] bi or nip ]
-        curry assoc-filter
+        [ classes-intersect? nip ] curry assoc-filter
     ] [ 2drop f ] if ;
 
 : compiled-generic-usages ( assoc -- assocs )