aboutsummaryrefslogtreecommitdiff
path: root/stm
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2020-04-30 16:05:19 +0200
committerPierre-Marie Pédrot2020-05-03 13:09:49 +0200
commit6839a2c9b7d2480e21572a7d176dcd6ea0617159 (patch)
treecd0840fd07b436567f76924e2fcf219595194786 /stm
parent1109581ba7afca804515fc6179565da808bae4f7 (diff)
Remove a very specific low-level tactical from Refiner.
It was only used at one point in the STM, and its localization was suprising to say the least. Furthermore it was relying on legacy code. Instead we hardcode it in the STM.
Diffstat (limited to 'stm')
-rw-r--r--stm/stm.ml6
1 files changed, 5 insertions, 1 deletions
diff --git a/stm/stm.ml b/stm/stm.ml
index f3768e9b99..5790bfc07e 100644
--- a/stm/stm.ml
+++ b/stm/stm.ml
@@ -2023,12 +2023,16 @@ end = struct (* {{{ *)
match Future.join f with
| Some (pt, uc) ->
let sigma, env = PG_compat.get_current_context () in
+ let push_state ctx =
+ Proofview.tclEVARMAP >>= fun sigma ->
+ Proofview.Unsafe.tclEVARS (Evd.merge_universe_context sigma ctx)
+ in
stm_pperr_endline (fun () -> hov 0 (
str"g=" ++ int (Evar.repr gid) ++ spc () ++
str"t=" ++ (Printer.pr_constr_env env sigma pt) ++ spc () ++
str"uc=" ++ Termops.pr_evar_universe_context uc));
(if abstract then Abstract.tclABSTRACT None else (fun x -> x))
- (V82.tactic (Refiner.tclPUSHEVARUNIVCONTEXT uc) <*>
+ (push_state uc <*>
Tactics.exact_no_check (EConstr.of_constr pt))
| None ->
if solve then Tacticals.New.tclSOLVE [] else tclUNIT ()