diff options
author | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2018-06-25 18:26:55 +0200 |
---|---|---|
committer | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2018-06-25 18:26:55 +0200 |
commit | a1fc621b943dbf904705dc88ed27c26daf4c5e72 (patch) | |
tree | 2649ab1a1480b17b74c7207113d5ae8783f2ee42 /kernel/constr.ml | |
parent | 24279abf43cfbd65e2fc29f171eb8705fdf61a3e (diff) | |
parent | 1311a2bf08ac1deb16f0b3064bc1164d75858a97 (diff) |
Merge PR #7798: Remove hack skipping comparison of algebraic universes in subtyping.
Diffstat (limited to 'kernel/constr.ml')
-rw-r--r-- | kernel/constr.ml | 6 |
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 |