aboutsummaryrefslogtreecommitdiff
path: root/proofs
diff options
context:
space:
mode:
authorMatthieu Sozeau2018-06-05 12:11:22 +0200
committerMatthieu Sozeau2018-06-05 12:11:22 +0200
commitf5a86aa6d18f569ac305559efd559ecad8f0b470 (patch)
treecc6e4c5d852ee84dc99cf9f9024c76b2fda1acd9 /proofs
parentaf65c79cc976f3f96a768f3d0897febb24e1485a (diff)
parentd4dac391db9e3be7a45d26e2da9007997b79587d (diff)
Merge PR #7099: Stronger invariants in unification signature.
Diffstat (limited to 'proofs')
-rw-r--r--proofs/logic.ml7
1 files changed, 4 insertions, 3 deletions
diff --git a/proofs/logic.ml b/proofs/logic.ml
index 218b2671ec..95c30d8159 100644
--- a/proofs/logic.ml
+++ b/proofs/logic.ml
@@ -309,9 +309,10 @@ let check_meta_variables env sigma c =
let check_conv_leq_goal env sigma arg ty conclty =
if !check then
- let evm, b = Reductionops.infer_conv env sigma (EConstr.of_constr ty) (EConstr.of_constr conclty) in
- if b then evm
- else raise (RefinerError (env, sigma, BadType (arg,ty,conclty)))
+ let ans = Reductionops.infer_conv env sigma (EConstr.of_constr ty) (EConstr.of_constr conclty) in
+ match ans with
+ | Some evm -> evm
+ | None -> raise (RefinerError (env, sigma, BadType (arg,ty,conclty)))
else sigma
exception Stop of EConstr.t list