From: Ian Lynagh Date: Sat, 30 Aug 2008 19:26:19 +0000 (+0000) Subject: Fix a space leak X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=105da4197baa8ed159ec71b65b6b64c6fcfc8bbb Fix a space leak --- diff --git a/compiler/rename/RnEnv.lhs b/compiler/rename/RnEnv.lhs index 03e94bc..a0d323d 100644 --- a/compiler/rename/RnEnv.lhs +++ b/compiler/rename/RnEnv.lhs @@ -868,11 +868,9 @@ checkShadowedNames doc_str (global_env,local_env) loc_rdr_names \begin{code} -- A useful utility mapFvRn :: (a -> RnM (b, FreeVars)) -> [a] -> RnM ([b], FreeVars) -mapFvRn f xs = mappM f xs `thenM` \ stuff -> - let - (ys, fvs_s) = unzip stuff - in - returnM (ys, plusFVs fvs_s) +mapFvRn f xs = do stuff <- mappM f xs + case unzip stuff of + (ys, fvs_s) -> returnM (ys, plusFVs fvs_s) -- because some of the rename functions are CPSed: -- maps the function across the list from left to right;