aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2018-05-19 12:12:43 +0200
committerPierre-Marie Pédrot2018-11-20 16:09:44 +0100
commit82f7c721ea066a4776be09bd40444cf491f3659e (patch)
tree69b1c704a859a0990ff1b1192a9ac0443cdf88fb /pretyping
parent4c25871dc47f40caf9a3a1662cbb8c703a0876ab (diff)
Do not wrap FProd return types in a closure.
There is little point to this as the type is dependent on an open value and is never computed further.
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/inferCumulativity.ml6
1 files changed, 3 insertions, 3 deletions
diff --git a/pretyping/inferCumulativity.ml b/pretyping/inferCumulativity.ml
index 9762d0f1d9..4ce7cdff77 100644
--- a/pretyping/inferCumulativity.ml
+++ b/pretyping/inferCumulativity.ml
@@ -110,9 +110,9 @@ let rec infer_fterm cv_pb infos variances hd stk =
let (_,ty,bd) = destFLambda mk_clos hd in
let variances = infer_fterm CONV infos variances ty [] in
infer_fterm CONV infos variances bd []
- | FProd (_,dom,codom) ->
- let variances = infer_fterm CONV infos variances dom [] in
- infer_fterm cv_pb infos variances codom []
+ | FProd (_,dom,codom,e) ->
+ let variances = infer_fterm CONV infos variances (mk_clos e dom) [] in
+ infer_fterm cv_pb infos variances (mk_clos (Esubst.subs_lift e) codom) []
| FInd (ind, u) ->
let variances =
if Instance.is_empty u then variances