Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : supercompiler
http://hackage.haskell.org/trac/ghc/changeset/5a5141018ec6d0629fc1aa0373941abd2683772b >--------------------------------------------------------------- commit 5a5141018ec6d0629fc1aa0373941abd2683772b Author: Max Bolingbroke <batterseapo...@hotmail.com> Date: Tue Mar 20 15:27:25 2012 +0000 Change lookupIdSubst to rename global variables if a mapping is available >--------------------------------------------------------------- compiler/coreSyn/CoreSubst.lhs | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/compiler/coreSyn/CoreSubst.lhs b/compiler/coreSyn/CoreSubst.lhs index 16173fb..96f0a2b 100644 --- a/compiler/coreSyn/CoreSubst.lhs +++ b/compiler/coreSyn/CoreSubst.lhs @@ -265,12 +265,11 @@ extendSubstList subst ((var,rhs):prs) = extendSubstList (extendSubst subst var r -- | Find the substitution for an 'Id' in the 'Subst' lookupIdSubst :: SDoc -> Subst -> Id -> CoreExpr lookupIdSubst doc (Subst in_scope ids _ _) v - | not (isLocalId v) = Var v | Just e <- lookupVarEnv ids v = e | Just v' <- lookupInScope in_scope v = Var v' -- Vital! See Note [Extending the Subst] - | otherwise = WARN( True, ptext (sLit "CoreSubst.lookupIdSubst") <+> doc <+> ppr v - $$ ppr in_scope) + | otherwise = WARN( isLocalId v, ptext (sLit "CoreSubst.lookupIdSubst") <+> doc <+> ppr v + $$ ppr in_scope) Var v -- | Find the substitution for a 'TyVar' in the 'Subst' _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc