X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FCoreFVs.lhs;h=90d76196495b8122587ea16a8390d28d3b67cd4a;hb=8d6feaef4dce4c9256817be8e7e6da25c21d23d7;hp=46c21b26dd505e75624abed2dc7c9e34b9da3f24;hpb=a90dc3907a491bfb478262441534b24fb0eb22f4;p=ghc-hetmet.git diff --git a/compiler/coreSyn/CoreFVs.lhs b/compiler/coreSyn/CoreFVs.lhs index 46c21b2..90d7619 100644 --- a/compiler/coreSyn/CoreFVs.lhs +++ b/compiler/coreSyn/CoreFVs.lhs @@ -395,7 +395,7 @@ idFreeVars id = ASSERT( isId id) bndrRuleAndUnfoldingVars ::Var -> VarSet -- A 'let' can bind a type variable, and idRuleVars assumes -- it's seeing an Id. This function tests first. -bndrRuleAndUnfoldingVars v | isTyVar v = emptyVarSet +bndrRuleAndUnfoldingVars v | isTyCoVar v = emptyVarSet | otherwise = idRuleAndUnfoldingVars v idRuleAndUnfoldingVars :: Id -> VarSet @@ -422,7 +422,7 @@ idUnfoldingVars :: Id -> VarSet idUnfoldingVars id = case realIdUnfolding id of CoreUnfolding { uf_tmpl = rhs, uf_src = src } - | isInlineRuleSource src + | isStableSource src -> exprFreeVars rhs DFunUnfolding _ _ args -> exprsFreeVars args _ -> emptyVarSet