aboutsummaryrefslogtreecommitdiff
path: root/toplevel
diff options
context:
space:
mode:
authorArnaud Spiwack2014-08-06 15:06:17 +0200
committerArnaud Spiwack2014-08-06 15:06:17 +0200
commit31e780a275af0ad4be10a61b0096b8f5be38b6d3 (patch)
treec37f8cd1eb307edc8558639ce173a0bcdf7bd70f /toplevel
parentb600c51753c5b60e62bdfcf1e6409afa1ce69d7a (diff)
[uconstr]: use a closure instead of eager substitution.
This avoids relying on detyping. As Matthieu Sozeau pointed out to me, [understand∘detyping] has no reason to be the identity. This may create surprising behaviour some times (when a detyped term loses its relations to the current context, in particular in terms of universes), and downright incompatibilities in the case of refine. As a bonus this should be a faster implementation of [uconstr] with a leaner memory profile.
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/himsg.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/toplevel/himsg.ml b/toplevel/himsg.ml
index b66a246539..7c42d7a8f5 100644
--- a/toplevel/himsg.ml
+++ b/toplevel/himsg.ml
@@ -1173,7 +1173,7 @@ let explain_ltac_call_trace last trace loc =
| Proof_type.LtacAtomCall te ->
quote (Pptactic.pr_glob_tactic (Global.env())
(Tacexpr.TacAtom (Loc.ghost,te)))
- | Proof_type.LtacConstrInterp (c,(vars,unboundvars)) ->
+ | Proof_type.LtacConstrInterp (c,(vars,_,unboundvars)) ->
quote (pr_glob_constr_env (Global.env()) c) ++
(if not (Id.Map.is_empty vars) then
strbrk " (with " ++