diff options
| author | Matthieu Sozeau | 2014-04-09 14:02:15 +0200 |
|---|---|---|
| committer | Matthieu Sozeau | 2014-05-06 09:59:00 +0200 |
| commit | 266aea59645ede8fc12ff60ce077504e1f29624c (patch) | |
| tree | 5fad7e9b4ceae5a0cf8e8d8991d77debe8599b6d | |
| parent | bfbef3d5e9d1262e29ce5ed68acf6f33de603f39 (diff) | |
Keep track of universes on coercion applications even if they're not polymorphic (fixes bug #3043).
| -rw-r--r-- | pretyping/coercion.ml | 2 | ||||
| -rw-r--r-- | test-suite/bugs/closed/3043.v | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/pretyping/coercion.ml b/pretyping/coercion.ml index ab3a3fa100..baa9086166 100644 --- a/pretyping/coercion.ml +++ b/pretyping/coercion.ml @@ -335,7 +335,7 @@ let apply_coercion env sigma p hj typ_cl = let sigma = Evd.merge_context_set Evd.univ_flexible sigma ctx in let argl = (class_args_of env sigma typ_cl)@[ja.uj_val] in let sigma, jres = - apply_coercion_args env sigma (not (Univ.ContextSet.is_empty ctx)) argl fv + apply_coercion_args env sigma true argl fv in (if isid then { uj_val = ja.uj_val; uj_type = jres.uj_type } diff --git a/test-suite/bugs/closed/3043.v b/test-suite/bugs/closed/3043.v index 70c93ab1f3..1be5056f94 100644 --- a/test-suite/bugs/closed/3043.v +++ b/test-suite/bugs/closed/3043.v @@ -1,4 +1,4 @@ -Goal (fun A (P : A -> Prop) - (X : sigT P) => proj1_sig (sig_of_sigT X)) = (fun A (P : A -> Prop) (X : sigT P) => projT1 X). +Goal (fun A (P : A -> Prop) (X : sigT P) => proj1_sig X) = + (fun A (P : A -> Prop) (X : sigT P) => projT1 X). reflexivity. Qed. |
