summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Graf <sgraf1337@gmail.com>2019-07-23 09:47:47 +0000
committerSebastian Graf <sgraf1337@gmail.com>2019-07-23 09:47:47 +0000
commite2ca62393eebe7bac222f1a3fa4c463ac10fdaaf (patch)
tree600a0e1a59bd0beab32558827fc1d5e22700dfc4
parent4854a3490518760405f04826df1768b5a7b96da2 (diff)
downloadhaskell-wip/no-rec-check.tar.gz
Delete recursive type check from DmdAnal and see where it breakswip/no-rec-check
-rw-r--r--compiler/stranal/DmdAnal.hs3
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler/stranal/DmdAnal.hs b/compiler/stranal/DmdAnal.hs
index 14fd46a6a3..6d97ade5eb 100644
--- a/compiler/stranal/DmdAnal.hs
+++ b/compiler/stranal/DmdAnal.hs
@@ -227,9 +227,8 @@ dmdAnal' env dmd (Case scrut case_bndr ty [(DataAlt dc, bndrs, rhs)])
-- Only one alternative with a product constructor
| let tycon = dataConTyCon dc
, isJust (isDataProductTyCon_maybe tycon)
- , Just rec_tc' <- checkRecTc (ae_rec_tc env) tycon
= let
- env_w_tc = env { ae_rec_tc = rec_tc' }
+ env_w_tc = env
env_alt = extendEnvForProdAlt env_w_tc scrut case_bndr dc bndrs
(rhs_ty, rhs') = dmdAnal env_alt dmd rhs
(alt_ty1, dmds) = findBndrsDmds env rhs_ty bndrs