aboutsummaryrefslogtreecommitdiff
path: root/engine/uState.ml
diff options
context:
space:
mode:
authorGaëtan Gilbert2020-09-25 15:31:51 +0200
committerGaëtan Gilbert2020-09-28 14:56:22 +0200
commit316592a31b463568f5136757c3570eaa8e1f0167 (patch)
treeb61967b917707ff576979e48c5d71def43a229f9 /engine/uState.ml
parentb9f385cb43de4c463e649f8f6e33f32288e88a6c (diff)
Put type-in-type flag in ugraph.
Fix #13086.
Diffstat (limited to 'engine/uState.ml')
-rw-r--r--engine/uState.ml4
1 files changed, 4 insertions, 0 deletions
diff --git a/engine/uState.ml b/engine/uState.ml
index 8d1584cd95..2cb88c7fff 100644
--- a/engine/uState.ml
+++ b/engine/uState.ml
@@ -286,6 +286,10 @@ let process_universe_constraints ctx cstrs =
if not (drop_weak_constraints ()) then weak := UPairSet.add (l,r) !weak; local
| UEq (l, r) -> equalize_universes l r local
in
+ let unify_universes cst local =
+ if not (UGraph.type_in_type univs) then unify_universes cst local
+ else try unify_universes cst local with UniverseInconsistency _ -> local
+ in
let local =
UnivProblem.Set.fold unify_universes cstrs Constraint.empty
in