aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Sozeau2014-08-07 14:08:29 +0200
committerMatthieu Sozeau2014-08-13 11:52:38 +0200
commitbcb425ead1d12d6e800f9f13f28b34da529c463e (patch)
treeb32572d718d3c7bec77c64742f5ddf6e6989b893
parentc7480636bce632adfa28d6bb0b423a086ade4318 (diff)
Bettre pretty-printing of evar maps, avoids printing universe information
for typeclass errors.
-rw-r--r--pretyping/evd.ml14
-rw-r--r--pretyping/evd.mli4
-rw-r--r--toplevel/himsg.ml2
3 files changed, 10 insertions, 10 deletions
diff --git a/pretyping/evd.ml b/pretyping/evd.ml
index fcc58f43fd..ff04bda809 100644
--- a/pretyping/evd.ml
+++ b/pretyping/evd.ml
@@ -1617,10 +1617,10 @@ let pr_evar_constraints pbs =
in
prlist_with_sep fnl pr_evconstr pbs
-let pr_evar_map_gen pr_evars sigma =
+let pr_evar_map_gen with_univs pr_evars sigma =
let { universes = uvs } = sigma in
- let evs = if has_no_evar sigma then mt () else pr_evars sigma
- and svs = pr_evar_universe_context uvs
+ let evs = if has_no_evar sigma then mt () else pr_evars sigma ++ fnl ()
+ and svs = if with_univs then pr_evar_universe_context uvs else mt ()
and cstrs =
if List.is_empty sigma.conv_pbs then mt ()
else
@@ -1666,11 +1666,11 @@ let pr_evar_by_filter filter sigma =
in
prdef ++ prundef
-let pr_evar_map depth sigma =
- pr_evar_map_gen (fun sigma -> pr_evar_by_depth depth sigma) sigma
+let pr_evar_map ?(with_univs=true) depth sigma =
+ pr_evar_map_gen with_univs (fun sigma -> pr_evar_by_depth depth sigma) sigma
-let pr_evar_map_filter filter sigma =
- pr_evar_map_gen (fun sigma -> pr_evar_by_filter filter sigma) sigma
+let pr_evar_map_filter ?(with_univs=true) filter sigma =
+ pr_evar_map_gen with_univs (fun sigma -> pr_evar_by_filter filter sigma) sigma
let pr_metaset metas =
str "[" ++ pr_sequence pr_meta (Metaset.elements metas) ++ str "]"
diff --git a/pretyping/evd.mli b/pretyping/evd.mli
index 5aa8a13d70..28e978edf1 100644
--- a/pretyping/evd.mli
+++ b/pretyping/evd.mli
@@ -517,8 +517,8 @@ type unsolvability_explanation = SeveralInstancesFound of int
val pr_evar_info : evar_info -> Pp.std_ppcmds
val pr_evar_constraints : evar_constraint list -> Pp.std_ppcmds
-val pr_evar_map : int option -> evar_map -> Pp.std_ppcmds
-val pr_evar_map_filter : (Evar.t -> evar_info -> bool) ->
+val pr_evar_map : ?with_univs:bool -> int option -> evar_map -> Pp.std_ppcmds
+val pr_evar_map_filter : ?with_univs:bool -> (Evar.t -> evar_info -> bool) ->
evar_map -> Pp.std_ppcmds
val pr_metaset : Metaset.t -> Pp.std_ppcmds
val pr_evar_universe_context : evar_universe_context -> Pp.std_ppcmds
diff --git a/toplevel/himsg.ml b/toplevel/himsg.ml
index 7497393e5d..4e3d460ded 100644
--- a/toplevel/himsg.ml
+++ b/toplevel/himsg.ml
@@ -875,7 +875,7 @@ let pr_constraints printenv env evd evars cstrs =
pe ++ evs ++ fnl() ++ h 0 (pr_evar_constraints cstrs)
else
let filter evk _ = Evar.Map.mem evk evars in
- pr_evar_map_filter filter evd
+ pr_evar_map_filter ~with_univs:false filter evd
let explain_unsatisfiable_constraints env evd constr comp =
let (_, constraints) = Evd.extract_all_conv_pbs evd in