diff options
| author | Pierre-Marie Pédrot | 2019-12-24 14:19:56 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2019-12-26 12:42:31 +0100 |
| commit | 9d0e4b2ab78b89e39c63e8010ffd03745b309b5a (patch) | |
| tree | 98bbde69fba3fb77d2d7705c55cfbed781570368 /proofs | |
| parent | feea1d0377e2fb083efe74cd241e7867d008d5be (diff) | |
Remove uses of Global in Evd API.
Namely, Evd.evar_env and Evd.evar_filtered_env now take an additional
environment instead of querying the imperative global one. We percolate
this change as higher up as possible.
Diffstat (limited to 'proofs')
| -rw-r--r-- | proofs/evar_refiner.ml | 4 | ||||
| -rw-r--r-- | proofs/evar_refiner.mli | 2 | ||||
| -rw-r--r-- | proofs/goal.ml | 3 | ||||
| -rw-r--r-- | proofs/proof.ml | 4 |
4 files changed, 7 insertions, 6 deletions
diff --git a/proofs/evar_refiner.ml b/proofs/evar_refiner.ml index 59918ab2f9..8297b11585 100644 --- a/proofs/evar_refiner.ml +++ b/proofs/evar_refiner.ml @@ -44,10 +44,10 @@ let define_and_solve_constraints evk c env evd = | Success evd -> evd | UnifFailure _ -> user_err Pp.(str "Instance does not satisfy the constraints.") -let w_refine (evk,evi) (ltac_var,rawc) sigma = +let w_refine (evk,evi) (ltac_var,rawc) env sigma = if Evd.is_defined sigma evk then user_err Pp.(str "Instantiate called on already-defined evar"); - let env = Evd.evar_filtered_env evi in + let env = Evd.evar_filtered_env env evi in let sigma',typed_c = let flags = { Pretyping.use_typeclasses = true; diff --git a/proofs/evar_refiner.mli b/proofs/evar_refiner.mli index 8f3ac7ed25..a618bf1c94 100644 --- a/proofs/evar_refiner.mli +++ b/proofs/evar_refiner.mli @@ -17,4 +17,4 @@ open Ltac_pretype type glob_constr_ltac_closure = ltac_var_map * glob_constr val w_refine : Evar.t * evar_info -> - glob_constr_ltac_closure -> evar_map -> evar_map + glob_constr_ltac_closure -> Environ.env -> evar_map -> evar_map diff --git a/proofs/goal.ml b/proofs/goal.ml index 426fba7f63..4759c0860f 100644 --- a/proofs/goal.ml +++ b/proofs/goal.ml @@ -31,8 +31,9 @@ module V82 = struct (* Old style env primitive *) let env evars gl = + let env = Global.env () in let evi = Evd.find evars gl in - Evd.evar_filtered_env evi + Evd.evar_filtered_env env evi (* Old style hyps primitive *) let hyps evars gl = diff --git a/proofs/proof.ml b/proofs/proof.ml index e9f93d0c8f..5ab4409f8b 100644 --- a/proofs/proof.ml +++ b/proofs/proof.ml @@ -434,10 +434,10 @@ module V82 = struct else CList.nth evl (n-1) in - let env = Evd.evar_filtered_env evi in + let env = Evd.evar_filtered_env env evi in let rawc = intern env sigma in let ltac_vars = Glob_ops.empty_lvar in - let sigma = Evar_refiner.w_refine (evk, evi) (ltac_vars, rawc) sigma in + let sigma = Evar_refiner.w_refine (evk, evi) (ltac_vars, rawc) env sigma in Proofview.Unsafe.tclEVARS sigma end in let { name; poly } = pr in |
