aboutsummaryrefslogtreecommitdiff
path: root/vernac/comHints.ml
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2020-10-06 14:58:45 +0200
committerPierre-Marie Pédrot2020-11-04 13:43:57 +0100
commitab6ebfc1f42d96d50763f2dcd6b8322b12613d3d (patch)
treec7f7a53b2d563c481f43ef3c416f92bcb4164c8e /vernac/comHints.ml
parentf4c1b8b9ffdb5e531685130824fc4ce03a3e9794 (diff)
Further code simplification in arbitrary hint interpretation.
We reuse the standard code path for term interpretation instead of trying to mangle it.
Diffstat (limited to 'vernac/comHints.ml')
-rw-r--r--vernac/comHints.ml11
1 files changed, 4 insertions, 7 deletions
diff --git a/vernac/comHints.ml b/vernac/comHints.ml
index 0d32f28d79..f642411fa4 100644
--- a/vernac/comHints.ml
+++ b/vernac/comHints.ml
@@ -101,13 +101,10 @@ let interp_hints ~poly h =
let () = warn_deprecated_hint_constr () in
let env = Global.env () in
let sigma = Evd.from_env env in
- let sigma, c = Constrintern.interp_open_constr env sigma c in
- let sigma = Typeclasses.resolve_typeclasses ~fail:false env sigma in
- let sigma, _ = Evd.nf_univ_variables sigma in
- let c = Evarutil.nf_evar sigma c in
- let c = Termops.drop_extra_implicit_args sigma c in
- let () = Pretyping.check_evars env sigma c in
- let diff = Evd.universe_context_set sigma in
+ let c, uctx = Constrintern.interp_constr env sigma c in
+ let subst, uctx = UState.normalize_variables uctx in
+ let c = EConstr.Vars.subst_univs_constr subst c in
+ let diff = UState.context_set uctx in
let c =
if poly then (c, Some diff)
else