aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/pretyping.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-11-09 19:59:13 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-11-09 20:04:25 +0100
commit07f0871dde38d6e5bfa57a36071e72ca7c207a39 (patch)
tree72d54fc38434235a45c9ed1beb89d0408ed9ee06 /pretyping/pretyping.ml
parentce80fa3cb3e6d8809bb3ee015bff39c67c0aed16 (diff)
Fixing bug #3792.
Pretyping of [if] cases was missing a convertibility check with the ambient type constraint, and just dropped it. This was making the pretyper construct ill-typed terms.
Diffstat (limited to 'pretyping/pretyping.ml')
-rw-r--r--pretyping/pretyping.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/pretyping/pretyping.ml b/pretyping/pretyping.ml
index 16d92ad78..71ed28c97 100644
--- a/pretyping/pretyping.ml
+++ b/pretyping/pretyping.ml
@@ -847,7 +847,8 @@ let rec pretype resolve_tc (tycon : type_constraint) env evdref (lvar : ltac_var
Typing.check_allowed_sort env !evdref ind cj.uj_val pred;
mkCase (ci, pred, cj.uj_val, [|b1;b2|])
in
- { uj_val = v; uj_type = p }
+ let cj = { uj_val = v; uj_type = p } in
+ inh_conv_coerce_to_tycon loc env evdref cj tycon
| GCases (loc,sty,po,tml,eqns) ->
Cases.compile_cases loc sty