aboutsummaryrefslogtreecommitdiff
path: root/html-test
diff options
context:
space:
mode:
authorNiklas Haas <git@nand.wakku.to>2014-02-23 16:11:22 +0100
committerNiklas Haas <git@nand.wakku.to>2014-02-23 16:11:22 +0100
commit6ca276702d04c9183caa98d1848f6aa5b88a8755 (patch)
tree0500d00158d5a6ba372c2b83eaca35ef3154d34c /html-test
parent64850ca4f7dc2ca0fdb21d078d93cd636de5c87a (diff)
Add RankNTypes test case to ImplicitParams.hs
This test actually tests what #260 originally reported - I omitted the RankNTypes scenario from the original fix because I realized it's not relevant to the underlying issue and indeed, this renders as intended now. Still good to have more tests.
Diffstat (limited to 'html-test')
-rw-r--r--html-test/ref/ImplicitParams.html22
-rw-r--r--html-test/src/ImplicitParams.hs7
2 files changed, 27 insertions, 2 deletions
diff --git a/html-test/ref/ImplicitParams.html b/html-test/ref/ImplicitParams.html
index 0219b323..83e8b094 100644
--- a/html-test/ref/ImplicitParams.html
+++ b/html-test/ref/ImplicitParams.html
@@ -51,6 +51,20 @@ window.onload = function () {pageLoad();setSynopsis("mini_ImplicitParams.html");
> <a name="t:X" class="def"
>X</a
></p
+ ><div class="subs constructors"
+ ><p class="caption"
+ >Constructors</p
+ ><table
+ ><tr
+ ><td class="src"
+ ><a name="v:X" class="def"
+ >X</a
+ ></td
+ ><td class="doc empty"
+ >&nbsp;</td
+ ></tr
+ ></table
+ ></div
></div
><div class="top"
><p class="src"
@@ -76,6 +90,14 @@ window.onload = function () {pageLoad();setSynopsis("mini_ImplicitParams.html");
>X</a
>)</p
></div
+ ><div class="top"
+ ><p class="src"
+ ><a name="v:f" class="def"
+ >f</a
+ > :: ((?x :: <a href="ImplicitParams.html#t:X"
+ >X</a
+ >) =&gt; a) -&gt; a</p
+ ></div
></div
></div
><div id="footer"
diff --git a/html-test/src/ImplicitParams.hs b/html-test/src/ImplicitParams.hs
index 4595b8f7..3ca9157b 100644
--- a/html-test/src/ImplicitParams.hs
+++ b/html-test/src/ImplicitParams.hs
@@ -1,10 +1,13 @@
-{-# LANGUAGE ImplicitParams #-}
+{-# LANGUAGE ImplicitParams, RankNTypes #-}
module ImplicitParams where
-data X
+data X = X
c :: (?x :: X) => X
c = ?x
d :: (?x :: X, ?y :: X) => (X, X)
d = (?x, ?y)
+
+f :: ((?x :: X) => a) -> a
+f a = let ?x = X in a