diff options
author | Niklas Haas <git@nand.wakku.to> | 2014-03-15 15:17:18 +0100 |
---|---|---|
committer | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2014-03-15 18:20:26 +0000 |
commit | 82ab2c09c19641e0ea89965c9af291043798486d (patch) | |
tree | a00a780248c46867d5a6f1483501874521377241 /html-test | |
parent | 48f45676f7c6c79b249b51dde9a6791393860676 (diff) |
Fix issue #281
This is a regression from the data family instances change. Data
instances are now distinguished from regular lists by usage of the new
class "inst", and the style has been updated to only apply to those.
I've also updated the appropriate test case to test this a bit better,
including GADT instances with GADT-style records.
Diffstat (limited to 'html-test')
-rw-r--r-- | html-test/ref/TypeFamilies.html | 304 | ||||
-rw-r--r-- | html-test/src/TypeFamilies.hs | 16 |
2 files changed, 234 insertions, 86 deletions
diff --git a/html-test/ref/TypeFamilies.html b/html-test/ref/TypeFamilies.html index d1d54571..355d9248 100644 --- a/html-test/ref/TypeFamilies.html +++ b/html-test/ref/TypeFamilies.html @@ -81,6 +81,22 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");}; ></li ><li class="src short" ><span class="keyword" + >data</span + > <a href="" + >Z</a + ><ul class="subs" + ><li + >= <a href="" + >ZA</a + ></li + ><li + >| <a href="" + >ZB</a + ></li + ></ul + ></li + ><li class="src short" + ><span class="keyword" >class</span > <a href="" >Test</a @@ -253,17 +269,47 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");}; ><span class="keyword" >data</span > <a href="" - >Bat</a + >AssocD</a + > * <a href="" + >X</a + > = <a name="v:AssocX" class="def" + >AssocX</a + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td class="src" + ><span class="keyword" + >type</span + > <a href="" + >AssocT</a + > * <a href="" + >X</a + > = <a href="" + >Foo</a + > * <a href="" + >X</a + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td class="src" + ><span class="keyword" + >data</span > <a href="" + >Bat</a + > * <a href="" >X</a - > <ul class="subs" - ><li + > <ul class="inst" + ><li class="inst" >= <a name="v:BatX" class="def" >BatX</a > <a href="" >X</a ></li - ><li + ><li class="inst" >| <a name="v:BatXX" class="def" >BatXX</a > { <ul class="subs" @@ -291,36 +337,6 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");}; ><tr ><td class="src" ><span class="keyword" - >data</span - > <a href="" - >AssocD</a - > * <a href="" - >X</a - > = <a name="v:AssocX" class="def" - >AssocX</a - ></td - ><td class="doc empty" - > </td - ></tr - ><tr - ><td class="src" - ><span class="keyword" - >type</span - > <a href="" - >AssocT</a - > * <a href="" - >X</a - > = <a href="" - >Foo</a - > * <a href="" - >X</a - ></td - ><td class="doc empty" - > </td - ></tr - ><tr - ><td class="src" - ><span class="keyword" >type</span > <a href="" >Foo</a @@ -427,36 +443,6 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");}; ><span class="keyword" >data</span > <a href="" - >Bat</a - > <a href="" - >Y</a - > <ul class="subs" - ><li - >= <a name="v:BatY" class="def" - >BatY</a - > <a href="" - >Y</a - ></li - ><li - >| <a href="" - >X</a - > <a name="v::-43-" class="def" - >:+</a - > <a href="" - >X</a - ></li - ></ul - ></td - ><td class="doc" - ><p - >Doc for: data instance Bat Y</p - ></td - ></tr - ><tr - ><td class="src" - ><span class="keyword" - >data</span - > <a href="" >AssocD</a > * <a href="" >Y</a @@ -476,7 +462,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");}; >Y</a > = <a href="" >Bat</a - > <a href="" + > * <a href="" >Y</a ></td ><td class="doc empty" @@ -485,6 +471,24 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");}; ><tr ><td class="src" ><span class="keyword" + >data</span + > <a href="" + >Bat</a + > * <a href="" + >Y</a + > = <a name="v:BatY" class="def" + >BatY</a + > <a href="" + >Y</a + ></td + ><td class="doc" + ><p + >Doc for: data instance Bat Y</p + ></td + ></tr + ><tr + ><td class="src" + ><span class="keyword" >type</span > <a href="" >Foo</a @@ -517,6 +521,102 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");}; ><div class="top" ><p class="src" ><span class="keyword" + >data</span + > <a name="t:Z" class="def" + >Z</a + ></p + ><div class="doc" + ><p + >Doc for: data Z</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:ZA" class="def" + >ZA</a + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td class="src" + ><a name="v:ZB" class="def" + >ZB</a + ></td + ><td class="doc empty" + > </td + ></tr + ></table + ></div + ><div class="subs instances" + ><p id="control.i:Z" class="caption collapser" onclick="toggleSection('i:Z')" + >Instances</p + ><div id="section.i:Z" class="show" + ><table + ><tr + ><td class="src" + ><span class="keyword" + >data</span + > <a href="" + >Bat</a + > <a href="" + >Z</a + > <span class="keyword" + >where</span + ><ul class="inst" + ><li class="inst" + ><a name="v:BatZ1" class="def" + >BatZ1</a + > :: <a href="" + >Z</a + > -> <a href="" + >Bat</a + > <a href="" + >Z</a + > <a href="" + >ZA</a + ></li + ><li class="inst" + ><a name="v:BatZ2" class="def" + >BatZ2</a + > :: { <ul class="subs" + ><li + ><a name="v:batx" class="def" + >batx</a + > :: <a href="" + >X</a + ></li + ><li + ><a name="v:baty" class="def" + >baty</a + > :: <a href="" + >Y</a + ></li + ></ul + > } -> <a href="" + >Bat</a + > <a href="" + >Z</a + > <a href="" + >ZB</a + ></li + ></ul + ></td + ><td class="doc" + ><p + >Doc for: data instance Bat Z</p + ></td + ></tr + ></table + ></div + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" >class</span > <a name="t:Test" class="def" >Test</a @@ -633,27 +733,51 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");}; > <a href="" >Bat</a > <a href="" - >Y</a - > <ul class="subs" - ><li - >= <a name="v:BatY" class="def" - >BatY</a + >Z</a + > <span class="keyword" + >where</span + ><ul class="inst" + ><li class="inst" + ><a name="v:BatZ1" class="def" + >BatZ1</a + > :: <a href="" + >Z</a + > -> <a href="" + >Bat</a + > <a href="" + >Z</a > <a href="" - >Y</a + >ZA</a ></li - ><li - >| <a href="" - >X</a - > <a name="v::-43-" class="def" - >:+</a + ><li class="inst" + ><a name="v:BatZ2" class="def" + >BatZ2</a + > :: { <ul class="subs" + ><li + ><a name="v:batx" class="def" + >batx</a + > :: <a href="" + >X</a + ></li + ><li + ><a name="v:baty" class="def" + >baty</a + > :: <a href="" + >Y</a + ></li + ></ul + > } -> <a href="" + >Bat</a > <a href="" - >X</a + >Z</a + > <a href="" + >ZB</a ></li ></ul ></td ><td class="doc" ><p - >Doc for: data instance Bat Y</p + >Doc for: data instance Bat Z</p ></td ></tr ><tr @@ -662,16 +786,34 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");}; >data</span > <a href="" >Bat</a + > * <a href="" + >Y</a + > = <a name="v:BatY" class="def" + >BatY</a > <a href="" + >Y</a + ></td + ><td class="doc" + ><p + >Doc for: data instance Bat Y</p + ></td + ></tr + ><tr + ><td class="src" + ><span class="keyword" + >data</span + > <a href="" + >Bat</a + > * <a href="" >X</a - > <ul class="subs" - ><li + > <ul class="inst" + ><li class="inst" >= <a name="v:BatX" class="def" >BatX</a > <a href="" >X</a ></li - ><li + ><li class="inst" >| <a name="v:BatXX" class="def" >BatXX</a > { <ul class="subs" diff --git a/html-test/src/TypeFamilies.hs b/html-test/src/TypeFamilies.hs index 5cd4480e..a79d503e 100644 --- a/html-test/src/TypeFamilies.hs +++ b/html-test/src/TypeFamilies.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE TypeFamilies, UndecidableInstances, PolyKinds, TypeOperators, DataKinds, MultiParamTypeClasses #-} +{-# LANGUAGE TypeFamilies, UndecidableInstances, PolyKinds, TypeOperators, DataKinds, MultiParamTypeClasses, GADTs #-} -- | Doc for: module TypeFamilies module TypeFamilies where @@ -14,6 +14,9 @@ data X -- | Doc for: data Y data Y +-- | Doc for: data Z +data Z = ZA | ZB + -- | Doc for: class Test a class Test a @@ -31,7 +34,7 @@ type instance Foo X = Y type instance Foo Y = X -- | Doc for: data family Bat a -data family Bat a :: * +data family Bat (a :: k) :: * -- | Doc for: data instance Bat X data instance Bat X @@ -39,9 +42,12 @@ data instance Bat X | BatXX { aaa :: X , bbb :: Y } -- ^ Doc for: BatXX { ... } -- | Doc for: data instance Bat Y -data instance Bat Y - = BatY Y -- ^ Doc for: BatY Y - | X :+ X -- X :+ X +data instance Bat Y = BatY Y -- ^ Doc for: BatY Y + +-- | Doc for: data instance Bat Z +data instance Bat (z :: Z) where + BatZ1 :: Z -> Bat ZA + BatZ2 :: { batx :: X, baty :: Y } -> Bat ZB -- | Doc for: class Assoc a class Assoc a where |