aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tactics/class_tactics.ml15
1 files changed, 4 insertions, 11 deletions
diff --git a/tactics/class_tactics.ml b/tactics/class_tactics.ml
index 62470a60c0..64d62a89b0 100644
--- a/tactics/class_tactics.ml
+++ b/tactics/class_tactics.ml
@@ -143,24 +143,17 @@ let auto_unif_flags ?(allowed_evars = AllowAll) st =
resolve_evars = false
}
-let refresh_undefined_univs clenv =
- match EConstr.kind clenv.evd clenv.templval.rebus with
- | Var _ -> clenv.evd, Univ.empty_level_subst
- | App (f, args) when isVar clenv.evd f -> clenv.evd, Univ.empty_level_subst
- | _ -> Evd.refresh_undefined_universes clenv.evd
-
let e_give_exact flags h =
- let { hint_term = c; hint_clnv = clenv } = h in
+ let { hint_term = c; hint_uctx = ctx } = h in
let open Tacmach.New in
Proofview.Goal.enter begin fun gl ->
let sigma = project gl in
let c, sigma =
if h.hint_poly then
- (* Should we really refresh all universes when we have the local ones at hand? *)
- let evd, subst = refresh_undefined_univs clenv in
- let evd = evars_reset_evd ~with_conv_pbs:true sigma evd in
+ let (subst, ctx) = UnivGen.fresh_universe_context_set_instance ctx in
+ let evd = Evd.merge_context_set Evd.univ_flexible sigma ctx in
let c = Vars.subst_univs_level_constr subst c in
- c, evd
+ c, evd
else c, sigma
in
let (sigma, t1) = Typing.type_of (pf_env gl) sigma c in