merged
authortraytel
Mon, 18 Nov 2013 17:10:57 +0100
changeset 54471 7468e8ce494c
parent 54470 0a7341e3948c (diff)
parent 54469 0ccec59194af (current diff)
child 54472 073f041d83ae
child 54496 178922b63b58
merged
--- a/src/Tools/subtyping.ML	Mon Nov 18 15:46:52 2013 +0100
+++ b/src/Tools/subtyping.ML	Mon Nov 18 17:10:57 2013 +0100
@@ -597,8 +597,8 @@
           val assignment =
             if null bound orelse null not_params then NONE
             else SOME (tightest lower S styps_and_sorts (map nameT not_params)
-                handle BOUND_ERROR msg =>
-                  err_bound ctxt (gen_msg err msg) tye (find_error_pack lower key))
+                handle BOUND_ERROR msg => err_bound ctxt (gen_msg err msg) tye
+                  (maps (find_error_pack (not lower)) raw_bound))
         in
           (case assignment of
             NONE => tye_idx
@@ -614,7 +614,8 @@
                   else err_bound ctxt (gen_msg err ("assigned base type " ^
                     quote (Syntax.string_of_typ ctxt T) ^
                     " clashes with the upper bound of variable " ^
-                    Syntax.string_of_typ ctxt (TVar(xi, S)))) tye (find_error_pack (not lower) key)
+                    Syntax.string_of_typ ctxt (TVar(xi, S)))) tye
+                    (maps (find_error_pack lower) other_bound)
                 end
               else apfst (Vartab.update (xi, T)) tye_idx)
         end