# HG changeset patch # User traytel # Date 1384791057 -3600 # Node ID 7468e8ce494ccc32898715d9bccf7282e2ee5dfc # Parent 0a7341e3948ca07544ccb54329bd44fe23f08b81# Parent 0ccec59194aff19c3f2c399c67e8cee612530355 merged diff -r 0ccec59194af -r 7468e8ce494c src/Tools/subtyping.ML --- 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