aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Haas <git@nand.wakku.to>2014-02-15 08:41:40 +0100
committerMateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>2014-02-15 21:56:18 +0000
commit6b35adfb811d9e41e5bfa1c11963e441740c2836 (patch)
treedc17a12c75235eb42ad9505176aa1b5097a7ede4
parent50d1d18cc70cf6c8ffcf247743cd8af0ff9aae16 (diff)
Add test case for inter-module type/data family instances
These should show up in every place where the class is visible, and indeed they do right now. Signed-off-by: Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
-rw-r--r--html-test/ref/TypeFamilies.html28
-rw-r--r--html-test/ref/TypeFamilies2.html72
-rw-r--r--html-test/src/TypeFamilies.hs8
-rw-r--r--html-test/src/TypeFamilies2.hs5
4 files changed, 112 insertions, 1 deletions
diff --git a/html-test/ref/TypeFamilies.html b/html-test/ref/TypeFamilies.html
index 65845102..53a8b9d3 100644
--- a/html-test/ref/TypeFamilies.html
+++ b/html-test/ref/TypeFamilies.html
@@ -235,6 +235,22 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
><tr
><td class="src"
><span class="keyword"
+ >type</span
+ > <a href="TypeFamilies2.html#t:Foo"
+ >Foo</a
+ > <a href="TypeFamilies.html#t:X"
+ >X</a
+ > = <a href="TypeFamilies.html#t:Y"
+ >Y</a
+ ></td
+ ><td class="doc"
+ ><p
+ >External instance</p
+ ></td
+ ></tr
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
>data</span
> <a href="TypeFamilies.html#t:Bat"
>Bat</a
@@ -398,6 +414,18 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
><td class="src"
><span class="keyword"
>data</span
+ > <a href="TypeFamilies2.html#t:Bar"
+ >Bar</a
+ > <a href="TypeFamilies.html#t:Y"
+ >Y</a
+ ></td
+ ><td class="doc empty"
+ >&nbsp;</td
+ ></tr
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
+ >data</span
> <a href="TypeFamilies.html#t:Bat"
>Bat</a
> <a href="TypeFamilies.html#t:Y"
diff --git a/html-test/ref/TypeFamilies2.html b/html-test/ref/TypeFamilies2.html
index eaa0772f..d822e19e 100644
--- a/html-test/ref/TypeFamilies2.html
+++ b/html-test/ref/TypeFamilies2.html
@@ -59,6 +59,20 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies2.html");}
><tr
><td class="src"
><span class="keyword"
+ >data</span
+ > <a href="TypeFamilies2.html#t:Bar"
+ >Bar</a
+ > <a href="TypeFamilies2.html#t:X"
+ >X</a
+ > = <a name="v:BarX" class="def"
+ >BarX</a
+ > Y</td
+ ><td class="doc empty"
+ >&nbsp;</td
+ ></tr
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
>type</span
> <a href="TypeFamilies2.html#t:Foo"
>Foo</a
@@ -96,6 +110,64 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies2.html");}
><td class="doc empty"
>&nbsp;</td
></tr
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
+ >type</span
+ > <a href="TypeFamilies2.html#t:Foo"
+ >Foo</a
+ > <a href="TypeFamilies.html#t:X"
+ >X</a
+ > = <a href="TypeFamilies.html#t:Y"
+ >Y</a
+ ></td
+ ><td class="doc"
+ ><p
+ >External instance</p
+ ></td
+ ></tr
+ ></table
+ ></div
+ ></div
+ ></div
+ ><div class="top"
+ ><p class="src"
+ ><span class="keyword"
+ >data family</span
+ > <a name="t:Bar" class="def"
+ >Bar</a
+ > a</p
+ ><div class="subs instances"
+ ><p id="control.i:Bar" class="caption collapser" onclick="toggleSection('i:Bar')"
+ >Instances</p
+ ><div id="section.i:Bar" class="show"
+ ><table
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
+ >data</span
+ > <a href="TypeFamilies2.html#t:Bar"
+ >Bar</a
+ > <a href="TypeFamilies2.html#t:X"
+ >X</a
+ > = <a name="v:BarX" class="def"
+ >BarX</a
+ > Y</td
+ ><td class="doc empty"
+ >&nbsp;</td
+ ></tr
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
+ >data</span
+ > <a href="TypeFamilies2.html#t:Bar"
+ >Bar</a
+ > <a href="TypeFamilies.html#t:Y"
+ >Y</a
+ ></td
+ ><td class="doc empty"
+ >&nbsp;</td
+ ></tr
></table
></div
></div
diff --git a/html-test/src/TypeFamilies.hs b/html-test/src/TypeFamilies.hs
index e7cc0458..5cd4480e 100644
--- a/html-test/src/TypeFamilies.hs
+++ b/html-test/src/TypeFamilies.hs
@@ -3,6 +3,8 @@
-- | Doc for: module TypeFamilies
module TypeFamilies where
+import qualified TypeFamilies2 as TF
+
-- | Doc for: data X
data X
= X -- ^ Doc for: X
@@ -76,3 +78,9 @@ type instance XXX <> XX = 'X
class (><) (a :: k) (b :: k)
instance XX >< XXX
+
+-- | External instance
+
+type instance TF.Foo X = Y
+
+data instance TF.Bar Y
diff --git a/html-test/src/TypeFamilies2.hs b/html-test/src/TypeFamilies2.hs
index 718e11dc..093f77c2 100644
--- a/html-test/src/TypeFamilies2.hs
+++ b/html-test/src/TypeFamilies2.hs
@@ -3,10 +3,13 @@
-- in type instances. The expected behaviour is
-- that we get the instance, Y is not linked and
-- Haddock shows a linking warning.
-module TypeFamilies2 (X, Foo) where
+module TypeFamilies2 (X, Foo, Bar) where
data X
data Y
type family Foo a
type instance Foo X = Y
+
+data family Bar a
+data instance Bar X = BarX Y