aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/constr.ml
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2018-06-25 18:26:55 +0200
committerGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2018-06-25 18:26:55 +0200
commita1fc621b943dbf904705dc88ed27c26daf4c5e72 (patch)
tree2649ab1a1480b17b74c7207113d5ae8783f2ee42 /kernel/constr.ml
parent24279abf43cfbd65e2fc29f171eb8705fdf61a3e (diff)
parent1311a2bf08ac1deb16f0b3064bc1164d75858a97 (diff)
Merge PR #7798: Remove hack skipping comparison of algebraic universes in subtyping.
Diffstat (limited to 'kernel/constr.ml')
-rw-r--r--kernel/constr.ml6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/constr.ml b/kernel/constr.ml
index 418229330..e68f906ec 100644
--- a/kernel/constr.ml
+++ b/kernel/constr.ml
@@ -828,8 +828,10 @@ let leq_constr_univs_infer univs m n =
let u1 = Sorts.univ_of_sort s1 and u2 = Sorts.univ_of_sort s2 in
if UGraph.check_leq univs u1 u2 then true
else
- (cstrs := Univ.enforce_leq u1 u2 !cstrs;
- true)
+ (try let c, _ = UGraph.enforce_leq_alg u1 u2 univs in
+ cstrs := Univ.Constraint.union c !cstrs;
+ true
+ with Univ.UniverseInconsistency _ -> false)
in
let rec eq_constr' nargs m n =
m == n || compare_head_gen eq_universes eq_sorts eq_constr' nargs m n