summaryrefslogtreecommitdiff
path: root/testdata/language-features/adt
diff options
context:
space:
mode:
Diffstat (limited to 'testdata/language-features/adt')
-rw-r--r--testdata/language-features/adt/adt02.reject.out52
-rw-r--r--testdata/language-features/adt/adt03.reject.out5
-rw-r--r--testdata/language-features/adt/adt04.reject.out5
-rw-r--r--testdata/language-features/adt/gadt01.reject.out11
-rw-r--r--testdata/language-features/adt/gadt03.reject.out82
-rw-r--r--testdata/language-features/adt/gadt04.reject.out110
6 files changed, 167 insertions, 98 deletions
diff --git a/testdata/language-features/adt/adt02.reject.out b/testdata/language-features/adt/adt02.reject.out
index ee25f4ed..0b4b0ba4 100644
--- a/testdata/language-features/adt/adt02.reject.out
+++ b/testdata/language-features/adt/adt02.reject.out
@@ -5,15 +5,15 @@ with
5 5
6in proj 6in proj
7------------ trace 7------------ trace
8'Data3 :: Type 8'Data3 :: Type
9Data3 :: Bool -> Char -> Bool -> Data3 9Data3 :: Bool -> Char -> Bool -> Data3
10Data31 :: Int -> String -> Int -> Data3 10Data31 :: Int -> String -> Int -> Data3
11'Data3Case 11'Data3Case
12 :: forall (a :: Data3 -> Type) 12 :: forall (a :: Data3 -> Type)
13 -> (forall (b :: Bool) (c :: Char) (d :: Bool) -> a ('Data3 b c d)) 13 -> (forall (b :: Bool) (c :: Char) (d :: Bool) -> a ('Data3 b c d))
14 -> (forall (e :: Int) (f :: String) (g :: Int) -> a ('Data31 e f g)) 14 -> (forall (e :: Int) (f :: String) (g :: Int) -> a ('Data31 e f g))
15 -> forall (h :: Data3) -> a h 15 -> forall (h :: Data3) -> a h
16match'Data3 :: forall (a :: Type -> Type) -> a Data3 -> forall b -> a b -> a b 16match'Data3 :: forall (a :: Type -> Type) -> a Data3 -> forall b -> a b -> a b
17!type error: can not unify 17!type error: can not unify
18'Bool 18'Bool
19with 19with
@@ -21,15 +21,27 @@ with
21 21
22in proj 22in proj
23------------ tooltips 23------------ tooltips
24testdata/language-features/adt/adt02.reject.lc 2:6-2:11 Type 24testdata/language-features/adt/adt02.reject.lc 2:6-2:11
25testdata/language-features/adt/adt02.reject.lc 2:6-5:25 Type 25 Type | Type | Type | Type | Type | Type | Type | Type
26testdata/language-features/adt/adt02.reject.lc 2:6-7:11 Type 26testdata/language-features/adt/adt02.reject.lc 2:6-5:25
27testdata/language-features/adt/adt02.reject.lc 2:6-10:20 Type 27 Type | Type
28testdata/language-features/adt/adt02.reject.lc 3:5-3:10 Bool -> Char -> Bool -> Data3 | Data3 | Type 28testdata/language-features/adt/adt02.reject.lc 2:6-7:11
29testdata/language-features/adt/adt02.reject.lc 3:21-3:25 Type 29 Type | Type
30testdata/language-features/adt/adt02.reject.lc 4:21-4:25 Type 30testdata/language-features/adt/adt02.reject.lc 2:6-10:20
31testdata/language-features/adt/adt02.reject.lc 5:21-5:25 Type 31 Type | Type
32testdata/language-features/adt/adt02.reject.lc 7:5-7:11 Data3 | Int -> String -> Int -> Data3 | Type 32testdata/language-features/adt/adt02.reject.lc 3:5-3:10
33testdata/language-features/adt/adt02.reject.lc 8:17-8:20 Type 33 Bool -> Char -> Bool -> Data3 | Data3 | Type | Type | Type | Type
34testdata/language-features/adt/adt02.reject.lc 9:17-9:23 Type 34testdata/language-features/adt/adt02.reject.lc 3:21-3:25
35testdata/language-features/adt/adt02.reject.lc 10:17-10:20 Type 35 Type
36testdata/language-features/adt/adt02.reject.lc 4:21-4:25
37 Type
38testdata/language-features/adt/adt02.reject.lc 5:21-5:25
39 Type
40testdata/language-features/adt/adt02.reject.lc 7:5-7:11
41 Int -> String -> Int -> Data3 | Data3 | Type | Type | Type | Type
42testdata/language-features/adt/adt02.reject.lc 8:17-8:20
43 Type
44testdata/language-features/adt/adt02.reject.lc 9:17-9:23
45 Type
46testdata/language-features/adt/adt02.reject.lc 10:17-10:20
47 Type \ No newline at end of file
diff --git a/testdata/language-features/adt/adt03.reject.out b/testdata/language-features/adt/adt03.reject.out
index 70c0c4e7..d579a3d5 100644
--- a/testdata/language-features/adt/adt03.reject.out
+++ b/testdata/language-features/adt/adt03.reject.out
@@ -2,9 +2,10 @@ can't find: a in testdata/language-features/adt/adt03.reject.lc:2:20:
2data Data3 = Data3 a b c 2data Data3 = Data3 a b c
3 ^ 3 ^
4------------ trace 4------------ trace
5'Data3 :: Type 5'Data3 :: Type
6!can't find: a in testdata/language-features/adt/adt03.reject.lc:2:20: 6!can't find: a in testdata/language-features/adt/adt03.reject.lc:2:20:
7data Data3 = Data3 a b c 7data Data3 = Data3 a b c
8 ^ 8 ^
9------------ tooltips 9------------ tooltips
10testdata/language-features/adt/adt03.reject.lc 2:6-2:11 Type 10testdata/language-features/adt/adt03.reject.lc 2:6-2:11
11 Type \ No newline at end of file
diff --git a/testdata/language-features/adt/adt04.reject.out b/testdata/language-features/adt/adt04.reject.out
index 85b91c2c..0dd18b2f 100644
--- a/testdata/language-features/adt/adt04.reject.out
+++ b/testdata/language-features/adt/adt04.reject.out
@@ -2,9 +2,10 @@ can't find: a in testdata/language-features/adt/adt04.reject.lc:2:27:
2data Data3 = Data3 { x :: a , y :: b , z :: c } 2data Data3 = Data3 { x :: a , y :: b , z :: c }
3 ^ 3 ^
4------------ trace 4------------ trace
5'Data3 :: Type 5'Data3 :: Type
6!can't find: a in testdata/language-features/adt/adt04.reject.lc:2:27: 6!can't find: a in testdata/language-features/adt/adt04.reject.lc:2:27:
7data Data3 = Data3 { x :: a , y :: b , z :: c } 7data Data3 = Data3 { x :: a , y :: b , z :: c }
8 ^ 8 ^
9------------ tooltips 9------------ tooltips
10testdata/language-features/adt/adt04.reject.lc 2:6-2:11 Type 10testdata/language-features/adt/adt04.reject.lc 2:6-2:11
11 Type \ No newline at end of file
diff --git a/testdata/language-features/adt/gadt01.reject.out b/testdata/language-features/adt/gadt01.reject.out
index 48732b7d..ce6834db 100644
--- a/testdata/language-features/adt/gadt01.reject.out
+++ b/testdata/language-features/adt/gadt01.reject.out
@@ -1,8 +1,11 @@
1illegal data definition (parameters are not uniform) 1illegal data definition (parameters are not uniform)
2------------ trace 2------------ trace
3'M3 :: Type -> String -> Type 3'M3 :: Type -> String -> Type
4!illegal data definition (parameters are not uniform) 4!illegal data definition (parameters are not uniform)
5------------ tooltips 5------------ tooltips
6testdata/language-features/adt/gadt01.reject.lc 5:6-5:8 Type -> String -> Type 6testdata/language-features/adt/gadt01.reject.lc 5:6-5:8
7testdata/language-features/adt/gadt01.reject.lc 5:15-5:19 Type 7 Type -> String -> Type
8testdata/language-features/adt/gadt01.reject.lc 5:27-5:33 Type 8testdata/language-features/adt/gadt01.reject.lc 5:15-5:19
9 Type
10testdata/language-features/adt/gadt01.reject.lc 5:27-5:33
11 Type | Type \ No newline at end of file
diff --git a/testdata/language-features/adt/gadt03.reject.out b/testdata/language-features/adt/gadt03.reject.out
index 36261981..38a50a8a 100644
--- a/testdata/language-features/adt/gadt03.reject.out
+++ b/testdata/language-features/adt/gadt03.reject.out
@@ -1,36 +1,58 @@
1illegal data definition (parameters are not uniform) 1illegal data definition (parameters are not uniform)
2------------ trace 2------------ trace
3'M2 :: Type -> String -> Type 3'M2 :: Type -> String -> Type
4Value2 :: forall a . a -> forall (b :: String) . M2 a b 4Value2 :: forall a . a -> forall (b :: String) . M2 a b
5'M2Case 5'M2Case
6 :: forall a 6 :: forall a
7 . forall (b :: forall (c :: String) -> M2 a c -> Type) 7 . forall (b :: forall (c :: String) -> M2 a c -> Type)
8 -> (forall (d :: a) -> forall (e :: String) . b e ('Value2 d e)) 8 -> (forall (d :: a) -> forall (e :: String) . b e ('Value2 d e))
9 -> forall (f :: String) . forall (g :: M2 a f) -> b f g 9 -> forall (f :: String) . forall (g :: M2 a f) -> b f g
10match'M2 10match'M2
11 :: forall (a :: Type -> Type) 11 :: forall (a :: Type -> Type)
12 -> (forall b (c :: String) -> a (M2 b c)) -> forall d -> a d -> a d 12 -> (forall b (c :: String) -> a (M2 b c)) -> forall d -> a d -> a d
13'M3 :: Type -> String -> Type 13'M3 :: Type -> String -> Type
14!illegal data definition (parameters are not uniform) 14!illegal data definition (parameters are not uniform)
15------------ tooltips 15------------ tooltips
16testdata/language-features/adt/gadt03.reject.lc 2:6-2:8 Type | Type -> String -> Type 16testdata/language-features/adt/gadt03.reject.lc 2:6-2:8
17testdata/language-features/adt/gadt03.reject.lc 2:6-3:35 Type 17 Type -> String -> Type | Type -> String -> Type | Type | Type
18testdata/language-features/adt/gadt03.reject.lc 2:15-2:19 Type 18 -> String -> Type | Type | Type
19testdata/language-features/adt/gadt03.reject.lc 2:24-2:30 Type 19testdata/language-features/adt/gadt03.reject.lc 2:6-3:35
20testdata/language-features/adt/gadt03.reject.lc 2:24-2:38 Type 20 Type | Type
21testdata/language-features/adt/gadt03.reject.lc 2:34-2:38 Type 21testdata/language-features/adt/gadt03.reject.lc 2:15-2:19
22testdata/language-features/adt/gadt03.reject.lc 3:3-3:9 M2 _d _a | forall a . a -> forall (b :: String) . M2 a b 22 Type | Type | Type
23testdata/language-features/adt/gadt03.reject.lc 3:3-3:35 Type 23testdata/language-features/adt/gadt03.reject.lc 2:24-2:30
24testdata/language-features/adt/gadt03.reject.lc 3:13-3:14 Type 24 Type
25testdata/language-features/adt/gadt03.reject.lc 3:13-3:35 Type 25testdata/language-features/adt/gadt03.reject.lc 2:24-2:38
26testdata/language-features/adt/gadt03.reject.lc 3:18-3:35 Type 26 Type
27testdata/language-features/adt/gadt03.reject.lc 3:29-3:31 Type -> String -> Type 27testdata/language-features/adt/gadt03.reject.lc 2:34-2:38
28testdata/language-features/adt/gadt03.reject.lc 3:29-3:33 String -> Type 28 Type | Type
29testdata/language-features/adt/gadt03.reject.lc 3:29-3:35 Type 29testdata/language-features/adt/gadt03.reject.lc 3:3-3:9
30testdata/language-features/adt/gadt03.reject.lc 3:32-3:33 Type 30 forall a . a -> forall (b :: String) . M2 a b | M2 _d _a
31testdata/language-features/adt/gadt03.reject.lc 3:34-3:35 String | _b 31testdata/language-features/adt/gadt03.reject.lc 3:3-3:35
32testdata/language-features/adt/gadt03.reject.lc 5:6-5:8 Type -> String -> Type 32 Type | Type | Type
33testdata/language-features/adt/gadt03.reject.lc 5:15-5:19 Type 33testdata/language-features/adt/gadt03.reject.lc 3:13-3:14
34testdata/language-features/adt/gadt03.reject.lc 5:24-5:30 Type 34 Type
35testdata/language-features/adt/gadt03.reject.lc 5:24-5:38 Type 35testdata/language-features/adt/gadt03.reject.lc 3:13-3:35
36testdata/language-features/adt/gadt03.reject.lc 5:34-5:38 Type 36 Type
37testdata/language-features/adt/gadt03.reject.lc 3:18-3:35
38 Type
39testdata/language-features/adt/gadt03.reject.lc 3:29-3:31
40 Type -> String -> Type
41testdata/language-features/adt/gadt03.reject.lc 3:29-3:33
42 String -> Type
43testdata/language-features/adt/gadt03.reject.lc 3:29-3:35
44 Type | Type
45testdata/language-features/adt/gadt03.reject.lc 3:32-3:33
46 Type
47testdata/language-features/adt/gadt03.reject.lc 3:34-3:35
48 _b | String
49testdata/language-features/adt/gadt03.reject.lc 5:6-5:8
50 Type -> String -> Type
51testdata/language-features/adt/gadt03.reject.lc 5:15-5:19
52 Type
53testdata/language-features/adt/gadt03.reject.lc 5:24-5:30
54 Type
55testdata/language-features/adt/gadt03.reject.lc 5:24-5:38
56 Type
57testdata/language-features/adt/gadt03.reject.lc 5:34-5:38
58 Type | Type \ No newline at end of file
diff --git a/testdata/language-features/adt/gadt04.reject.out b/testdata/language-features/adt/gadt04.reject.out
index 22338d9b..0d911620 100644
--- a/testdata/language-features/adt/gadt04.reject.out
+++ b/testdata/language-features/adt/gadt04.reject.out
@@ -5,17 +5,17 @@ and at testdata/language-features/adt/gadt04.reject.lc:3:3:
5 Value :: a -> forall m . M a m 5 Value :: a -> forall m . M a m
6 ^^^^^ 6 ^^^^^
7------------ trace 7------------ trace
8'M :: Type -> String -> Type 8'M :: Type -> String -> Type
9Value :: forall a . a -> forall (b :: String) . M a b 9Value :: forall a . a -> forall (b :: String) . M a b
10'MCase 10'MCase
11 :: forall (a :: forall b (c :: String) -> M b c -> Type) 11 :: forall (a :: forall b (c :: String) -> M b c -> Type)
12 -> (forall d . forall (e :: d) -> forall (f :: String) . a d f ('Value d e f)) 12 -> (forall d . forall (e :: d) -> forall (f :: String) . a d f ('Value d e f))
13 -> forall g (h :: String) . forall (i :: M g h) -> a g h i 13 -> forall g (h :: String) . forall (i :: M g h) -> a g h i
14match'M 14match'M
15 :: forall (a :: Type -> Type) 15 :: forall (a :: Type -> Type)
16 -> (forall b (c :: String) -> a (M b c)) -> forall d -> a d -> a d 16 -> (forall b (c :: String) -> a (M b c)) -> forall d -> a d -> a d
17'M2 :: Type -> String -> Type 17'M2 :: Type -> String -> Type
18Value :: forall a . a -> forall (b :: String) . M2 a b 18Value :: forall a . a -> forall (b :: String) . M2 a b
19!already defined Value at testdata/language-features/adt/gadt04.reject.lc:6:3: 19!already defined Value at testdata/language-features/adt/gadt04.reject.lc:6:3:
20 Value :: a -> forall m . M2 a m 20 Value :: a -> forall m . M2 a m
21 ^^^^^ 21 ^^^^^
@@ -23,34 +23,64 @@ and at testdata/language-features/adt/gadt04.reject.lc:3:3:
23 Value :: a -> forall m . M a m 23 Value :: a -> forall m . M a m
24 ^^^^^ 24 ^^^^^
25------------ tooltips 25------------ tooltips
26testdata/language-features/adt/gadt04.reject.lc 2:6-2:7 Type | Type -> String -> Type 26testdata/language-features/adt/gadt04.reject.lc 2:6-2:7
27testdata/language-features/adt/gadt04.reject.lc 2:6-3:33 Type 27 Type -> String -> Type | Type -> String -> Type | Type | Type | Type
28testdata/language-features/adt/gadt04.reject.lc 2:11-2:15 Type 28 -> String -> Type | Type | Type | Type
29testdata/language-features/adt/gadt04.reject.lc 2:19-2:25 Type 29testdata/language-features/adt/gadt04.reject.lc 2:6-3:33
30testdata/language-features/adt/gadt04.reject.lc 2:19-2:33 Type 30 Type
31testdata/language-features/adt/gadt04.reject.lc 2:29-2:33 Type 31testdata/language-features/adt/gadt04.reject.lc 2:11-2:15
32testdata/language-features/adt/gadt04.reject.lc 3:3-3:8 M _c _a | forall a . a -> forall (b :: String) . M a b 32 Type
33testdata/language-features/adt/gadt04.reject.lc 3:3-3:33 Type 33testdata/language-features/adt/gadt04.reject.lc 2:19-2:25
34testdata/language-features/adt/gadt04.reject.lc 3:12-3:13 _b 34 Type
35testdata/language-features/adt/gadt04.reject.lc 3:12-3:33 Type 35testdata/language-features/adt/gadt04.reject.lc 2:19-2:33
36testdata/language-features/adt/gadt04.reject.lc 3:17-3:33 Type 36 Type
37testdata/language-features/adt/gadt04.reject.lc 3:28-3:29 Type -> String -> Type 37testdata/language-features/adt/gadt04.reject.lc 2:29-2:33
38testdata/language-features/adt/gadt04.reject.lc 3:28-3:31 String -> Type 38 Type | Type
39testdata/language-features/adt/gadt04.reject.lc 3:28-3:33 Type 39testdata/language-features/adt/gadt04.reject.lc 3:3-3:8
40testdata/language-features/adt/gadt04.reject.lc 3:30-3:31 Type 40 forall a . a -> forall (b :: String) . M a b | M _c _a
41testdata/language-features/adt/gadt04.reject.lc 3:30-3:33 M _c _a -> Type 41testdata/language-features/adt/gadt04.reject.lc 3:3-3:33
42testdata/language-features/adt/gadt04.reject.lc 3:32-3:33 String | _b 42 Type | Type | Type | Type
43testdata/language-features/adt/gadt04.reject.lc 5:6-5:8 Type -> String -> Type 43testdata/language-features/adt/gadt04.reject.lc 3:12-3:13
44testdata/language-features/adt/gadt04.reject.lc 5:12-5:16 Type 44 _b
45testdata/language-features/adt/gadt04.reject.lc 5:20-5:26 Type 45testdata/language-features/adt/gadt04.reject.lc 3:12-3:33
46testdata/language-features/adt/gadt04.reject.lc 5:20-5:34 Type 46 Type
47testdata/language-features/adt/gadt04.reject.lc 5:30-5:34 Type 47testdata/language-features/adt/gadt04.reject.lc 3:17-3:33
48testdata/language-features/adt/gadt04.reject.lc 6:3-6:8 forall a . a -> forall (b :: String) . M2 a b 48 Type
49testdata/language-features/adt/gadt04.reject.lc 6:12-6:13 _b 49testdata/language-features/adt/gadt04.reject.lc 3:28-3:29
50testdata/language-features/adt/gadt04.reject.lc 6:12-6:34 Type 50 Type -> String -> Type
51testdata/language-features/adt/gadt04.reject.lc 6:17-6:34 Type 51testdata/language-features/adt/gadt04.reject.lc 3:28-3:31
52testdata/language-features/adt/gadt04.reject.lc 6:28-6:30 Type -> String -> Type 52 String -> Type
53testdata/language-features/adt/gadt04.reject.lc 6:28-6:32 String -> Type 53testdata/language-features/adt/gadt04.reject.lc 3:28-3:33
54testdata/language-features/adt/gadt04.reject.lc 6:28-6:34 Type 54 Type | Type
55testdata/language-features/adt/gadt04.reject.lc 6:31-6:32 Type 55testdata/language-features/adt/gadt04.reject.lc 3:30-3:31
56testdata/language-features/adt/gadt04.reject.lc 6:33-6:34 _b 56 Type | Type
57testdata/language-features/adt/gadt04.reject.lc 3:30-3:33
58 M _c _a -> Type
59testdata/language-features/adt/gadt04.reject.lc 3:32-3:33
60 _b | String
61testdata/language-features/adt/gadt04.reject.lc 5:6-5:8
62 Type -> String -> Type
63testdata/language-features/adt/gadt04.reject.lc 5:12-5:16
64 Type
65testdata/language-features/adt/gadt04.reject.lc 5:20-5:26
66 Type
67testdata/language-features/adt/gadt04.reject.lc 5:20-5:34
68 Type
69testdata/language-features/adt/gadt04.reject.lc 5:30-5:34
70 Type | Type
71testdata/language-features/adt/gadt04.reject.lc 6:12-6:13
72 _b
73testdata/language-features/adt/gadt04.reject.lc 6:12-6:34
74 Type
75testdata/language-features/adt/gadt04.reject.lc 6:17-6:34
76 Type
77testdata/language-features/adt/gadt04.reject.lc 6:28-6:30
78 Type -> String -> Type
79testdata/language-features/adt/gadt04.reject.lc 6:28-6:32
80 String -> Type
81testdata/language-features/adt/gadt04.reject.lc 6:28-6:34
82 Type | Type
83testdata/language-features/adt/gadt04.reject.lc 6:31-6:32
84 Type
85testdata/language-features/adt/gadt04.reject.lc 6:33-6:34
86 _b \ No newline at end of file