aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--haddock-api/src/Haddock/Backends/Hoogle.hs5
2 files changed, 6 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 419a7be7..15ab0a24 100644
--- a/CHANGES
+++ b/CHANGES
@@ -35,6 +35,8 @@ Changes in version 2.16.0
* Don't default to type constructors for out-of-scope names (#253 and
#375)
+ * Fix Hoogle display of constructors (#361)
+
Changes in version 2.15.0
* Always read in prologue files as UTF8 (#286 and Cabal #1721)
diff --git a/haddock-api/src/Haddock/Backends/Hoogle.hs b/haddock-api/src/Haddock/Backends/Hoogle.hs
index fe656a4b..ef86958e 100644
--- a/haddock-api/src/Haddock/Backends/Hoogle.hs
+++ b/haddock-api/src/Haddock/Backends/Hoogle.hs
@@ -198,7 +198,10 @@ ppCtor dflags dat subdocs con
apps = foldl1 (\x y -> reL $ HsAppTy x y)
typeSig nm flds = operator nm ++ " :: " ++ outHsType dflags (makeExplicit $ unL $ funs flds)
- name = out dflags $ map unL $ con_names con
+
+ -- We print the constructors as comma-separated list. See GHC
+ -- docs for con_names on why it is a list to begin with.
+ name = showSDocUnqual dflags . interpp'SP . map unL $ con_names con
resType = case con_res con of
ResTyH98 -> apps $ map (reL . HsTyVar) $