aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Sozeau2014-04-08 16:07:50 +0200
committerMatthieu Sozeau2014-05-06 09:59:00 +0200
commit61a79f62fa860da63e968b04da9935597312c07e (patch)
treeb6429af97b6d954c4ec23ad2986e20399aadd086
parent4bfb3331804fd191a1d5fb92e99ae17b080f4f7b (diff)
Correct universe handling in program coercions (bug #2378).
-rw-r--r--pretyping/coercion.ml4
1 files changed, 3 insertions, 1 deletions
diff --git a/pretyping/coercion.ml b/pretyping/coercion.ml
index 4254c8188b..ab3a3fa100 100644
--- a/pretyping/coercion.ml
+++ b/pretyping/coercion.ml
@@ -165,7 +165,9 @@ and coerce loc env evdref (x : Term.constr) (y : Term.constr)
in
aux (hdy :: tele) (subst1 hdx restT)
(subst1 hdy restT') (succ i) (fun x -> eq_app (co x))
- else Some co
+ else Some (fun x ->
+ let term = co x in
+ Typing.solve_evars env evdref term)
in
if isEvar c || isEvar c' then
(* Second-order unification needed. *)