aboutsummaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2018-12-19 16:23:27 +0100
committerPierre-Marie Pédrot2018-12-19 16:23:27 +0100
commit116f255bb51a8186a1986e5147c09a7129692af9 (patch)
tree190fdfe7d60e243ce54f41629e41a652cfdbd8e0 /engine
parent41400286140d8808412b697642d92df063cb3464 (diff)
parent5421b17f22b09ecca688a989a268385005dad01b (diff)
Merge PR #9237: Add Map.find_opt
Diffstat (limited to 'engine')
-rw-r--r--engine/evd.ml22
1 files changed, 11 insertions, 11 deletions
diff --git a/engine/evd.ml b/engine/evd.ml
index 7bc3be87a4..31c326df6a 100644
--- a/engine/evd.ml
+++ b/engine/evd.ml
@@ -601,19 +601,19 @@ let is_defined d e = EvMap.mem e d.defn_evars
let is_undefined d e = EvMap.mem e d.undf_evars
-let existential_value d (n, args) =
- let info = find d n in
- match evar_body info with
- | Evar_defined c ->
- instantiate_evar_array info c args
- | Evar_empty ->
- raise NotInstantiatedEvar
+let existential_opt_value d (n, args) =
+ match EvMap.find_opt n d.defn_evars with
+ | None -> None
+ | Some info ->
+ match evar_body info with
+ | Evar_defined c -> Some (instantiate_evar_array info c args)
+ | Evar_empty -> None (* impossible but w/e *)
-let existential_value0 = existential_value
+let existential_value d ev = match existential_opt_value d ev with
+ | None -> raise NotInstantiatedEvar
+ | Some v -> v
-let existential_opt_value d ev =
- try Some (existential_value d ev)
- with NotInstantiatedEvar -> None
+let existential_value0 = existential_value
let existential_opt_value0 = existential_opt_value