[project @ 2005-07-11 09:48:57 by simonpj]
authorsimonpj <unknown>
Mon, 11 Jul 2005 09:48:57 +0000 (09:48 +0000)
committersimonpj <unknown>
Mon, 11 Jul 2005 09:48:57 +0000 (09:48 +0000)
commita6f3a1f8f6e28289b5986637f47bd08e1381675e
tree9feb3828373fd4d5530bfeabfc552cee1b8e53da
parent0aaa6c3bb4df2afdf2b99251966df7777e7396b8
[project @ 2005-07-11 09:48:57 by simonpj]
Fix a bug in the renamer for parallel list comprehensions
MERGE TO STABLE

It's surprinsingly tricky to combine
  a) The parallel scopes for par-list-comps
with
  b) The general form of the renamer types, whereby
     scoped constructs work like
 rnPat :: Pat -> RnM (thing,FreeVars)
       -> RnM ((Pat,thing), FreeVars)
     This general shape neatly allows rnPat to
     extend the envt, report unused variables from
     the 'thing' inside, and return the correct set
     of free variables

But combining (a) and (b) is tricky, and was plain wrong before.
ghc/compiler/rename/RnExpr.lhs
ghc/compiler/rename/RnTypes.lhs