diff options
Diffstat (limited to 'haddock-api/src/Haddock/Interface')
| -rw-r--r-- | haddock-api/src/Haddock/Interface/Create.hs | 19 | 
1 files changed, 7 insertions, 12 deletions
diff --git a/haddock-api/src/Haddock/Interface/Create.hs b/haddock-api/src/Haddock/Interface/Create.hs index 096fdda3..da55397e 100644 --- a/haddock-api/src/Haddock/Interface/Create.hs +++ b/haddock-api/src/Haddock/Interface/Create.hs @@ -774,19 +774,14 @@ availExportItem is_sig modMap thisMod semMod warnings exportedNames          name = availName avail          -- all the exported names for this ExportItem          exported_names = availNamesWithSelectors avail -        subs' = [ sub -                | sub@(sub_name, _) <- subs -                , sub_name `elem` exported_names -                ] -        pats' = [ patsyn -                | patsyn@(patsyn_decl, _) <- pats -                , all (`elem` exported_names) (getMainDeclBinder patsyn_decl) -                ] +        is_exported nm = nm `elem` exported_names + +        subs' = filter (is_exported . fst) subs          sub_names = map fst subs' -        pat_names = [ n -                    | (patsyn_decl, _) <- pats' -                    , n <- getMainDeclBinder patsyn_decl -                    ] + +        pats' = filter (all is_exported . getMainDeclBinder . fst) pats +        pat_names = concatMap (getMainDeclBinder . fst) pats' +          fixities  = [ (n, f)                      | n <- name:sub_names ++ pat_names                      , Just f <- [M.lookup n fixMap]  | 
