diff options
| author | Matthieu Sozeau | 2014-04-08 16:07:50 +0200 |
|---|---|---|
| committer | Matthieu Sozeau | 2014-05-06 09:59:00 +0200 |
| commit | 61a79f62fa860da63e968b04da9935597312c07e (patch) | |
| tree | b6429af97b6d954c4ec23ad2986e20399aadd086 | |
| parent | 4bfb3331804fd191a1d5fb92e99ae17b080f4f7b (diff) | |
Correct universe handling in program coercions (bug #2378).
| -rw-r--r-- | pretyping/coercion.ml | 4 |
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. *) |
