Convert more UniqFM's back to LazyUniqFM's
[ghc-hetmet.git] / compiler / rename / RnEnv.lhs
index d924ab1..47595e2 100644 (file)
@@ -55,7 +55,7 @@ import Name           ( Name, nameIsLocalOrFrom, mkInternalName, isWiredInName,
                          nameSrcLoc, nameSrcSpan, nameOccName, nameModule, isExternalName )
 import NameSet
 import NameEnv
-import UniqFM
+import LazyUniqFM
 import DataCon         ( dataConFieldLabels )
 import OccName         ( OccName, tcName, isDataOcc, pprNonVarNameSpace, occNameSpace,
                          reportIfUnused, occNameFS )
@@ -70,9 +70,30 @@ import Util
 import Maybes
 import ListSetOps      ( removeDups )
 import List            ( nubBy )
-import Monad           ( when )
 import DynFlags
 import FastString
+import Control.Monad
+\end{code}
+
+\begin{code}
+-- XXX
+thenM :: Monad a => a b -> (b -> a c) -> a c
+thenM = (>>=)
+
+thenM_ :: Monad a => a b -> a c -> a c
+thenM_ = (>>)
+
+returnM :: Monad m => a -> m a
+returnM = return
+
+mappM :: (Monad m) => (a -> m b) -> [a] -> m [b]
+mappM = mapM
+
+mappM_ :: (Monad m) => (a -> m b) -> [a] -> m ()
+mappM_ = mapM_
+
+checkM :: Monad m => Bool -> m () -> m ()
+checkM = unless
 \end{code}
 
 %*********************************************************
@@ -869,8 +890,10 @@ checkShadowedNames doc_str (global_env,local_env) loc_rdr_names
        | otherwise          = return ()
        where
          complain pp_locs = addWarnAt loc (shadowedNameWarn doc_str occ pp_locs)
-         mb_local = lookupLocalRdrOcc  local_env  occ
-          gres     = lookupGlobalRdrEnv global_env occ
+         mb_local = lookupLocalRdrOcc local_env occ
+          gres     = lookupGRE_RdrName (mkRdrUnqual occ) global_env
+               -- Make an Unqualified RdrName and look that up, so that
+               -- we don't find any GREs that are in scope qualified-only
 \end{code}