aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Scott <ryan.gl.scott@gmail.com>2018-05-10 11:19:47 -0400
committerRyan Scott <ryan.gl.scott@gmail.com>2018-05-10 11:19:47 -0400
commit00ccfecdfedb55d44c84dfa4f0f1de90cfe6fafd (patch)
tree613b32eab15299a764223bd787f42de404248a39
parenta8840a37976209c5a3c4cf929eff502cdca80ecf (diff)
Remove Hoogle backend hack that butchers infix datatype names
-rw-r--r--haddock-api/src/Haddock/Backends/Hoogle.hs3
-rw-r--r--hoogle-test/ref/Bug825/test.txt9
-rw-r--r--hoogle-test/src/Bug825/Bug825.hs6
3 files changed, 16 insertions, 2 deletions
diff --git a/haddock-api/src/Haddock/Backends/Hoogle.hs b/haddock-api/src/Haddock/Backends/Hoogle.hs
index e7ce9d30..484841ba 100644
--- a/haddock-api/src/Haddock/Backends/Hoogle.hs
+++ b/haddock-api/src/Haddock/Backends/Hoogle.hs
@@ -225,11 +225,10 @@ ppData dflags decl@(DataDecl { tcdDataDefn = defn }) subdocs
-- GHC gives out "data Bar =", we want to delete the equals
-- also writes data : a b, when we want data (:) a b
- showData d = unwords $ map f $ if last xs == "=" then init xs else xs
+ showData d = unwords $ if last xs == "=" then init xs else xs
where
xs = words $ out dflags d
nam = out dflags $ tyClDeclLName d
- f w = if w == nam then operator nam else w
ppData _ _ _ = panic "ppData"
-- | for constructors, and named-fields...
diff --git a/hoogle-test/ref/Bug825/test.txt b/hoogle-test/ref/Bug825/test.txt
new file mode 100644
index 00000000..a88202dc
--- /dev/null
+++ b/hoogle-test/ref/Bug825/test.txt
@@ -0,0 +1,9 @@
+-- Hoogle documentation, generated by Haddock
+-- See Hoogle, http://www.haskell.org/hoogle/
+
+@package test
+@version 0.0.0
+
+module Bug825
+data a :~: b
+data (:~~:) a b
diff --git a/hoogle-test/src/Bug825/Bug825.hs b/hoogle-test/src/Bug825/Bug825.hs
new file mode 100644
index 00000000..bfe07139
--- /dev/null
+++ b/hoogle-test/src/Bug825/Bug825.hs
@@ -0,0 +1,6 @@
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE TypeOperators #-}
+module Bug825 where
+
+data a :~: b
+data (:~~:) a b