Repository : ssh://darcs.haskell.org//srv/darcs/haddock

On branch  : ghc-7.4

http://hackage.haskell.org/trac/ghc/changeset/d0fabd7e923e7a73913dd18d55d34caada3890fe

>---------------------------------------------------------------

commit d0fabd7e923e7a73913dd18d55d34caada3890fe
Author: Simon Hengel <[email protected]>
Date:   Thu May 17 18:49:39 2012 +0200

    Simplify lookupWarning

>---------------------------------------------------------------

 src/Haddock/Interface/Create.hs |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/Haddock/Interface/Create.hs b/src/Haddock/Interface/Create.hs
index 1513349..bc9bf3e 100644
--- a/src/Haddock/Interface/Create.hs
+++ b/src/Haddock/Interface/Create.hs
@@ -164,15 +164,17 @@ lookupModuleDyn dflags Nothing mdlName =
 -------------------------------------------------------------------------------
 
 
--- FIXME: simplify
 lookupWarning :: Warnings -> GlobalRdrEnv -> Name -> Maybe (Doc id)
 lookupWarning NoWarnings  _ _ = Nothing
 lookupWarning (WarnAll _) _ _ = Nothing
-lookupWarning (WarnSome ws) gre name = M.lookup name wm
-  where
-    wm = M.fromList
-      [ (n, warnToDoc w) | (occ, w) <- ws, elt <- lookupGlobalRdrEnv gre occ
-      , let n = gre_name elt, n == name ]
+lookupWarning (WarnSome ws) gre name =
+  -- there is at most one warning for each name, so it's fine to use
+  -- listToMaybe here
+  listToMaybe [warnToDoc w
+              | (occ, w) <- ws
+              , elt <- lookupGlobalRdrEnv gre occ
+              , gre_name elt == name
+              ]
 
 
 moduleWarning :: Warnings -> Maybe (Doc id)



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to