aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Dénès2019-04-30 11:22:35 +0200
committerMaxime Dénès2019-04-30 11:22:35 +0200
commit7d5b28d91df46db3f5e4b02093b64a18d67a1aa2 (patch)
treec43f1b81c27953c3edf08cb29f017a3c2e4c842d
parent8e4ee8e71a08fef13d25ce9b02a2b4b9ccbbff9b (diff)
parentace68d056551a4a2834d1d4908375dba7a1fbc44 (diff)
Merge PR #9349: Fix #9344, #9348: incorrect unsafe to_constr in vnorm
Ack-by: SkySkimmer Reviewed-by: maximedenes Ack-by: ppedrot
-rw-r--r--pretyping/nativenorm.ml2
-rw-r--r--pretyping/vnorm.ml2
-rw-r--r--test-suite/bugs/closed/bug_9344.v2
-rw-r--r--test-suite/bugs/closed/bug_9348.v3
4 files changed, 7 insertions, 2 deletions
diff --git a/pretyping/nativenorm.ml b/pretyping/nativenorm.ml
index e694502231..0fcd6a9e9d 100644
--- a/pretyping/nativenorm.ml
+++ b/pretyping/nativenorm.ml
@@ -415,7 +415,7 @@ and nf_predicate env sigma ind mip params v pT =
and nf_evar env sigma evk args =
let evi = try Evd.find sigma evk with Not_found -> assert false in
let hyps = Environ.named_context_of_val (Evd.evar_filtered_hyps evi) in
- let ty = EConstr.Unsafe.to_constr @@ Evd.evar_concl evi in
+ let ty = EConstr.to_constr ~abort_on_undefined_evars:false sigma @@ Evd.evar_concl evi in
if List.is_empty hyps then begin
assert (Int.equal (Array.length args) 0);
mkEvar (evk, [||]), ty
diff --git a/pretyping/vnorm.ml b/pretyping/vnorm.ml
index 62e9e477f7..1fe6545ce4 100644
--- a/pretyping/vnorm.ml
+++ b/pretyping/vnorm.ml
@@ -202,7 +202,7 @@ and nf_univ_args ~nb_univs mk env sigma stk =
and nf_evar env sigma evk stk =
let evi = try Evd.find sigma evk with Not_found -> assert false in
let hyps = Environ.named_context_of_val (Evd.evar_filtered_hyps evi) in
- let concl = EConstr.Unsafe.to_constr @@ Evd.evar_concl evi in
+ let concl = EConstr.to_constr ~abort_on_undefined_evars:false sigma @@ Evd.evar_concl evi in
if List.is_empty hyps then
nf_stk env sigma (mkEvar (evk, [||])) concl stk
else match stk with
diff --git a/test-suite/bugs/closed/bug_9344.v b/test-suite/bugs/closed/bug_9344.v
new file mode 100644
index 0000000000..0d44c9721a
--- /dev/null
+++ b/test-suite/bugs/closed/bug_9344.v
@@ -0,0 +1,2 @@
+Compute _ I.
+Eval native_compute in _ I.
diff --git a/test-suite/bugs/closed/bug_9348.v b/test-suite/bugs/closed/bug_9348.v
new file mode 100644
index 0000000000..a4673b5ffc
--- /dev/null
+++ b/test-suite/bugs/closed/bug_9348.v
@@ -0,0 +1,3 @@
+Set Primitive Projections.
+Record r {A} := R {f : A -> A}.
+Compute f _ I.