import TcRnMonad
import RnEnv
import HscTypes ( availNames )
-import RnNames ( getLocalDeclBinders, extendRdrEnvRn )
import RnTypes ( rnHsTypeFVs,
mkOpFormRn, mkOpAppRn, mkNegAppRn, checkSectionPrec, mkConOpPatRn
)
import Name ( Name, nameOccName, nameModule_maybe, getOccName, nameSrcSpan )
import OccName ( occEnvElts )
import NameSet
-import UniqFM
+import LazyUniqFM
import RdrName ( RdrName, GlobalRdrElt(..), Provenance(..),
extendLocalRdrEnv, lookupLocalRdrEnv, hideSomeUnquals,
mkRdrUnqual, nameRdrName, gre_name, globalRdrEnvElts, isLocalGRE )
matchNameMaker
= NM (\ rdr_name thing_inside ->
do { names@[name] <- newLocalsRn [rdr_name]
- ; bindLocalNamesFV names $
- warnUnusedMatches names $
- thing_inside name })
+ ; bindLocalNamesFV names $ do
+ { (res, fvs) <- thing_inside name
+ ; warnUnusedMatches names fvs
+ ; return (res, fvs) }})
topRecNameMaker, localRecNameMaker
- :: UniqFM (Located Fixity) -- mini fixity env for the names we're about to bind
- -- these fixities need to be brought into scope with the names
- -> NameMaker
+ :: MiniFixityEnv -> NameMaker
-- topNameMaker and localBindMaker do not check for unused binding
localRecNameMaker fix_env
= ptext SLIT("character literal out of range: '\\") <> char c <> char '\''
badViewPat pat = vcat [ptext SLIT("Illegal view pattern: ") <+> ppr pat,
- ptext SLIT("Use -XViewPatterns to enalbe view patterns")]
+ ptext SLIT("Use -XViewPatterns to enable view patterns")]
\end{code}