aboutsummaryrefslogtreecommitdiff
path: root/html-test/src/Instances.hs
diff options
context:
space:
mode:
authorƁukasz Hanuszczak <lukasz.hanuszczak@gmail.com>2015-07-20 18:16:26 +0200
committerMateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>2015-08-21 18:22:31 +0100
commita314ebd0af69cc1f6c76bfd8242d88d47277fcda (patch)
tree28a6421c2d70aa543d884f8152558a838940184e /html-test/src/Instances.hs
parent70ed9912b5400b1b2afd60cd8bd3585e3d355a5a (diff)
Add some test cases for type renamer.
Diffstat (limited to 'html-test/src/Instances.hs')
-rw-r--r--html-test/src/Instances.hs18
1 files changed, 18 insertions, 0 deletions
diff --git a/html-test/src/Instances.hs b/html-test/src/Instances.hs
index d0d68dc3..8e237fe7 100644
--- a/html-test/src/Instances.hs
+++ b/html-test/src/Instances.hs
@@ -1,6 +1,7 @@
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE ImpredicativeTypes #-}
module Instances where
@@ -34,3 +35,20 @@ instance Bar Maybe [a]
instance Bar [] (a, a)
instance Foo f => Bar (Either a) (f a)
instance Foo ((,,) a b) => Bar ((,,) a b) (a, b, a)
+
+
+class Baz a where
+
+ baz :: a -> (forall a. a -> a) -> (b, forall c. c -> a) -> (b, c)
+ baz' :: b -> (forall b. b -> a) -> (forall b. b -> a) -> [(b, a)]
+ baz'' :: b -> (forall b. (forall b. b -> a) -> c) -> (forall c. c -> b)
+
+ baz = undefined
+ baz' = undefined
+ baz'' = undefined
+
+
+instance Baz (a -> b)
+instance Baz [c]
+instance Baz (a, b, c)
+instance Baz (a, [b], b, a)