blob: c22be2fb87811d50ffa057a0a9c9ad9b7b878f13 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
module ShouldCompile where
-- I bet this test is a mistake! From the layout it
-- looks as if 'test' takes three args, the latter two
-- of higher rank. But the parens around these args are
-- missing, so it parses as
-- test :: [a]
-- -> forall a. Ord a
-- => [b]
-- -> forall c. Num c
-- => [c]
-- -> [a]
--
-- But maybe that what was intended; I'm not sure
-- Anyway it should typecheck!
test :: [a] -- ^ doc1
-> forall b. (Ord b) => [b] {-^ doc2 -}
-> forall c. (Num c) => [c] -- ^ doc3
-> [a]
test xs ys zs = xs
|