aboutsummaryrefslogtreecommitdiff
path: root/pretyping/pretyping.ml
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2019-12-18 16:52:10 +0100
committerPierre-Marie Pédrot2019-12-18 16:52:10 +0100
commitdfdfa9eeedebb0aec2cd72be9c1eee27ca9b2fab (patch)
treec6e4c772dae91a047c488f20fb3b03afd384300a /pretyping/pretyping.ml
parent6b9f6c365ec5b478e79f70cf2a1ae4faed809b74 (diff)
parent467d4f28802bf07bb0cdb748c78f0936219ceb8d (diff)
Merge PR #11027: Cleanup post #10647 (expose comind universe handling)
Reviewed-by: ppedrot
Diffstat (limited to 'pretyping/pretyping.ml')
-rw-r--r--pretyping/pretyping.ml16
1 files changed, 9 insertions, 7 deletions
diff --git a/pretyping/pretyping.ml b/pretyping/pretyping.ml
index 4925f3e5fa..44b3d59287 100644
--- a/pretyping/pretyping.ml
+++ b/pretyping/pretyping.ml
@@ -288,16 +288,18 @@ let check_extra_evars_are_solved env current_sigma frozen = match frozen with
(* [check_evars] fails if some unresolved evar remains *)
-let check_evars env initial_sigma sigma c =
+let check_evars env ?initial sigma c =
let rec proc_rec c =
match EConstr.kind sigma c with
| Evar (evk, _) ->
- if not (Evd.mem initial_sigma evk) then
- let (loc,k) = evar_source evk sigma in
- begin match k with
- | Evar_kinds.ImplicitArg (gr, (i, id), false) -> ()
- | _ -> Pretype_errors.error_unsolvable_implicit ?loc env sigma evk None
- end
+ (match initial with
+ | Some initial when Evd.mem initial evk -> ()
+ | _ ->
+ let (loc,k) = evar_source evk sigma in
+ begin match k with
+ | Evar_kinds.ImplicitArg (gr, (i, id), false) -> ()
+ | _ -> Pretype_errors.error_unsolvable_implicit ?loc env sigma evk None
+ end)
| _ -> EConstr.iter sigma proc_rec c
in proc_rec c