From: simonpj@microsoft.com Date: Mon, 14 Jun 2010 16:39:35 +0000 (+0000) Subject: Don't reverse bindings in rnMethodBinds (fix Trac #4126) X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=a3ed66ebc38894332bcdc28b5ae3085de42b5955 Don't reverse bindings in rnMethodBinds (fix Trac #4126) --- diff --git a/compiler/rename/RnBinds.lhs b/compiler/rename/RnBinds.lhs index ee45f61..2afd04d 100644 --- a/compiler/rename/RnBinds.lhs +++ b/compiler/rename/RnBinds.lhs @@ -608,10 +608,11 @@ rnMethodBinds :: Name -- Class name -> RnM (LHsBinds Name, FreeVars) rnMethodBinds cls sig_fn gen_tyvars binds - = foldM do_one (emptyBag,emptyFVs) (bagToList binds) - where do_one (binds,fvs) bind = do - (bind', fvs_bind) <- rnMethodBind cls sig_fn gen_tyvars bind - return (bind' `unionBags` binds, fvs_bind `plusFV` fvs) + = foldlM do_one (emptyBag,emptyFVs) (bagToList binds) + where + do_one (binds,fvs) bind + = do { (bind', fvs_bind) <- rnMethodBind cls sig_fn gen_tyvars bind + ; return (binds `unionBags` bind', fvs_bind `plusFV` fvs) } rnMethodBind :: Name -> (Name -> [Name])