X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FcoreSyn%2FCoreArity.lhs;h=be34b07014fc2ecb85ce57dc6a6ddbe13ecc4903;hp=94297adbaf498ed8c626045495a442619f0b8f56;hb=2662dbc5b2c30fc11ccb99e7f9b2dba794d680ba;hpb=72462499b891d5779c19f3bda03f96e24f9554ae diff --git a/compiler/coreSyn/CoreArity.lhs b/compiler/coreSyn/CoreArity.lhs index 94297ad..be34b07 100644 --- a/compiler/coreSyn/CoreArity.lhs +++ b/compiler/coreSyn/CoreArity.lhs @@ -17,7 +17,7 @@ module CoreArity ( import CoreSyn import CoreFVs import CoreUtils -import NewDemand +import Demand import TyCon ( isRecursiveTyCon ) import qualified CoreSubst import CoreSubst ( Subst, substBndr, substBndrs, substExpr @@ -282,7 +282,7 @@ applyStateHack e (AT orig_arity is_bot) 1 + go res (arity-1) else WARN( arity > 0, ppr arity ) 0 -} - | otherwise = WARN( arity > 0, ppr arity ) 0 + | otherwise = WARN( arity > 0, ppr arity <+> ppr ty) 0 \end{code} Note [State hack and bottoming functions] @@ -361,7 +361,7 @@ trimArity False (AT _ ATop) = AT 0 ATop -- Bale out --------------------------- arityType :: Bool -> CoreExpr -> ArityType arityType _ (Var v) - | Just strict_sig <- idNewStrictness_maybe v + | Just strict_sig <- idStrictness_maybe v , (ds, res) <- splitStrictSig strict_sig , isBotRes res = AT (length ds) ABot -- Function diverges @@ -631,6 +631,6 @@ freshEtaId n subst ty ty' = substTy subst ty eta_id' = uniqAway (getTvInScope subst) $ mkSysLocal (fsLit "eta") (mkBuiltinUnique n) ty' - subst' = extendTvInScope subst [eta_id'] + subst' = extendTvInScope subst eta_id' \end{code}