src/Tools/subtyping.ML
changeset 51246 755562fd2d9d
parent 49660 de49d9b4d7bc
child 51248 029de23bb5e8
--- a/src/Tools/subtyping.ML	Thu Feb 21 18:27:28 2013 +0100
+++ b/src/Tools/subtyping.ML	Fri Feb 22 13:36:31 2013 +0100
@@ -360,8 +360,9 @@
               (fold new_constraints (arg_var ~~ (Ts ~~ Us)) ([], (tye, idx)));
             val test_update = is_typeT orf is_freeT orf is_fixedvarT;
             val (ch, done') =
-              if not (null new) then ([], done)
-              else split_cs (test_update o Type_Infer.deref tye') done;
+              done
+              |> map (apfst (pairself (Type_Infer.deref tye')))
+              |> (if not (null new) then rpair []  else split_cs test_update);
             val todo' = ch @ todo;
           in
             simplify done' (new @ todo') (tye', idx')