Define TyCoRep.ppSuggestExplicitKinds, and use it
[ghc.git] / testsuite / tests / typecheck / should_fail / tcfail068.stderr
1
2 tcfail068.hs:14:9: error:
3     • Couldn't match type ‘s1’ with ‘s’
4       ‘s1’ is a rigid type variable bound by
5         a type expected by the context:
6           forall s1. GHC.ST.ST s1 (IndTree s a)
7         at tcfail068.hs:13:9
8       ‘s’ is a rigid type variable bound by
9         the type signature for:
10           itgen :: forall a s.
11                    Constructed a =>
12                    (Int, Int) -> a -> IndTree s a
13         at tcfail068.hs:11:10
14       Expected type: GHC.ST.ST s1 (IndTree s a)
15         Actual type: GHC.ST.ST s1 (STArray s1 (Int, Int) a)
16     • In the first argument of ‘runST’, namely
17         ‘(newSTArray ((1, 1), n) x)’
18       In the expression: runST (newSTArray ((1, 1), n) x)
19       In an equation for ‘itgen’:
20           itgen n x = runST (newSTArray ((1, 1), n) x)
21     • Relevant bindings include
22         itgen :: (Int, Int) -> a -> IndTree s a
23           (bound at tcfail068.hs:12:1)
24
25 tcfail068.hs:19:9: error:
26     • Couldn't match type ‘s’ with ‘s1’
27       ‘s’ is a rigid type variable bound by
28         the type signature for:
29           itiap :: forall a s.
30                    Constructed a =>
31                    (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
32         at tcfail068.hs:16:10
33       ‘s1’ is a rigid type variable bound by
34         a type expected by the context:
35           forall s1. GHC.ST.ST s1 (IndTree s a)
36         at tcfail068.hs:18:9
37       Expected type: GHC.ST.ST s1 (IndTree s a)
38         Actual type: GHC.ST.ST s (IndTree s a)
39     • In the first argument of ‘runST’, namely
40         ‘(readSTArray arr i
41           >>= \ val -> writeSTArray arr i (f val) >> return arr)’
42       In the expression:
43         runST
44           (readSTArray arr i
45            >>= \ val -> writeSTArray arr i (f val) >> return arr)
46       In an equation for ‘itiap’:
47           itiap i f arr
48             = runST
49                 (readSTArray arr i
50                  >>= \ val -> writeSTArray arr i (f val) >> return arr)
51     • Relevant bindings include
52         arr :: IndTree s a (bound at tcfail068.hs:17:11)
53         itiap :: (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
54           (bound at tcfail068.hs:17:1)
55
56 tcfail068.hs:24:36: error:
57     • Couldn't match type ‘s’ with ‘s1’
58       ‘s’ is a rigid type variable bound by
59         the type signature for:
60           itrap :: forall a s.
61                    Constructed a =>
62                    ((Int, Int), (Int, Int)) -> (a -> a) -> IndTree s a -> IndTree s a
63         at tcfail068.hs:23:10
64       ‘s1’ is a rigid type variable bound by
65         a type expected by the context:
66           forall s1. GHC.ST.ST s1 (IndTree s a)
67         at tcfail068.hs:24:29
68       Expected type: GHC.ST.ST s1 (IndTree s a)
69         Actual type: GHC.ST.ST s (IndTree s a)
70     • In the first argument of ‘runST’, namely ‘(itrap' i k)’
71       In the expression: runST (itrap' i k)
72       In an equation for ‘itrap’:
73           itrap ((i, k), (j, l)) f arr
74             = runST (itrap' i k)
75             where
76                 itrap' i k
77                   = if k > l then return arr else (itrapsnd i k >> itrap' i (k + 1))
78                 itrapsnd i k
79                   = if i > j then
80                         return arr
81                     else
82                         (readSTArray arr (i, k) >>= \ val -> ...)
83     • Relevant bindings include
84         itrap' :: Int -> Int -> GHC.ST.ST s (IndTree s a)
85           (bound at tcfail068.hs:26:9)
86         itrapsnd :: Int -> Int -> GHC.ST.ST s (IndTree s a)
87           (bound at tcfail068.hs:29:9)
88         arr :: IndTree s a (bound at tcfail068.hs:24:23)
89         itrap :: ((Int, Int), (Int, Int))
90                  -> (a -> a) -> IndTree s a -> IndTree s a
91           (bound at tcfail068.hs:24:1)
92
93 tcfail068.hs:36:46: error:
94     • Couldn't match type ‘s’ with ‘s1’
95       ‘s’ is a rigid type variable bound by
96         the type signature for:
97           itrapstate :: forall b a c s.
98                         Constructed b =>
99                         ((Int, Int), (Int, Int))
100                         -> (a -> b -> (a, b))
101                         -> ((Int, Int) -> c -> a)
102                         -> (a -> c)
103                         -> c
104                         -> IndTree s b
105                         -> (c, IndTree s b)
106         at tcfail068.hs:34:15
107       ‘s1’ is a rigid type variable bound by
108         a type expected by the context:
109           forall s1. GHC.ST.ST s1 (c, IndTree s b)
110         at tcfail068.hs:36:40
111       Expected type: GHC.ST.ST s1 (c, IndTree s b)
112         Actual type: GHC.ST.ST s (c, IndTree s b)
113     • In the first argument of ‘runST’, namely ‘(itrapstate' i k s)’
114       In the expression: runST (itrapstate' i k s)
115       In an equation for ‘itrapstate’:
116           itrapstate ((i, k), (j, l)) f c d s arr
117             = runST (itrapstate' i k s)
118             where
119                 itrapstate' i k s
120                   = if k > l then
121                         return (s, arr)
122                     else
123                         (itrapstatesnd i k s >>= \ (s, arr) -> ...)
124                 itrapstatesnd i k s
125                   = if i > j then
126                         return (s, arr)
127                     else
128                         (readSTArray arr (i, k) >>= \ val -> ...)
129     • Relevant bindings include
130         itrapstate' :: Int -> Int -> c -> GHC.ST.ST s (c, IndTree s b)
131           (bound at tcfail068.hs:38:9)
132         itrapstatesnd :: Int -> Int -> c -> GHC.ST.ST s (c, IndTree s b)
133           (bound at tcfail068.hs:41:9)
134         arr :: IndTree s b (bound at tcfail068.hs:36:34)
135         itrapstate :: ((Int, Int), (Int, Int))
136                       -> (a -> b -> (a, b))
137                       -> ((Int, Int) -> c -> a)
138                       -> (a -> c)
139                       -> c
140                       -> IndTree s b
141                       -> (c, IndTree s b)
142           (bound at tcfail068.hs:36:1)