Major Overhaul of Pattern Match Checking (Fixes #595)
[ghc.git] / testsuite / tests / ghci / scripts / Defer02.stderr
1
2 ../../typecheck/should_run/Defer01.hs:11:40: warning:
3     • Couldn't match type ‘Char’ with ‘[Char]’
4       Expected type: String
5         Actual type: Char
6     • In the first argument of ‘putStr’, namely ‘','’
7       In the second argument of ‘(>>)’, namely ‘putStr ','’
8       In the expression: putStr "Hello World" >> putStr ','
9
10 ../../typecheck/should_run/Defer01.hs:14:5: warning:
11     • Couldn't match expected type ‘Int’ with actual type ‘Char’
12     • In the expression: 'p'
13       In an equation for ‘a’: a = 'p'
14
15 ../../typecheck/should_run/Defer01.hs:25:1: warning:
16     Pattern match(es) have inaccessible right hand side
17     In an equation for ‘c’: c (C2 x) = ...
18
19 ../../typecheck/should_run/Defer01.hs:25:4: warning:
20     • Couldn't match type ‘Int’ with ‘Bool’
21       Inaccessible code in
22         a pattern with constructor: C2 :: Bool -> C Bool,
23         in an equation for ‘c’
24     • In the pattern: C2 x
25       In an equation for ‘c’: c (C2 x) = True
26
27 ../../typecheck/should_run/Defer01.hs:28:5: warning:
28     • No instance for (Num (a -> a)) arising from the literal ‘1’
29         (maybe you haven't applied a function to enough arguments?)
30     • In the expression: 1
31       In an equation for ‘d’: d = 1
32
33 ../../typecheck/should_run/Defer01.hs:31:5: warning:
34     • Couldn't match expected type ‘Char -> t’ with actual type ‘Char’
35     • The function ‘e’ is applied to one argument,
36       but its type ‘Char’ has none
37       In the expression: e 'q'
38       In an equation for ‘f’: f = e 'q'
39     • Relevant bindings include
40         f :: t (bound at ../../typecheck/should_run/Defer01.hs:31:1)
41
42 ../../typecheck/should_run/Defer01.hs:34:8: warning:
43     • Couldn't match expected type ‘Char’ with actual type ‘a’
44       ‘a’ is a rigid type variable bound by
45         the type signature for:
46           h :: forall a. a -> (Char, Char)
47         at ../../typecheck/should_run/Defer01.hs:33:6
48     • In the expression: x
49       In the expression: (x, 'c')
50     • Relevant bindings include
51         x :: a (bound at ../../typecheck/should_run/Defer01.hs:34:3)
52         h :: a -> (Char, Char)
53           (bound at ../../typecheck/should_run/Defer01.hs:34:1)
54
55 ../../typecheck/should_run/Defer01.hs:39:17: warning:
56     • Couldn't match expected type ‘Bool’ with actual type ‘T a’
57     • In the first argument of ‘not’, namely ‘(K a)’
58       In the expression: (not (K a))
59     • Relevant bindings include
60         a :: a (bound at ../../typecheck/should_run/Defer01.hs:39:3)
61         i :: a -> () (bound at ../../typecheck/should_run/Defer01.hs:39:1)
62
63 ../../typecheck/should_run/Defer01.hs:43:5: warning:
64     • No instance for (MyClass a1) arising from a use of ‘myOp’
65     • In the expression: myOp 23
66       In an equation for ‘j’: j = myOp 23
67
68 ../../typecheck/should_run/Defer01.hs:43:10: warning:
69     • Ambiguous type variable ‘a1’ arising from the literal ‘23’
70       prevents the constraint ‘(Num a1)’ from being solved.
71       Probable fix: use a type annotation to specify what ‘a1’ should be.
72       These potential instances exist:
73         instance Num Integer -- Defined in ‘GHC.Num’
74         instance Num Double -- Defined in ‘GHC.Float’
75         instance Num Float -- Defined in ‘GHC.Float’
76         ...plus two others
77         (use -fprint-potential-instances to see them all)
78     • In the first argument of ‘myOp’, namely ‘23’
79       In the expression: myOp 23
80       In an equation for ‘j’: j = myOp 23
81
82 ../../typecheck/should_run/Defer01.hs:45:1: warning:
83     Couldn't match type ‘Int’ with ‘Bool’
84     Inaccessible code in
85       the type signature for:
86         k :: (Int ~ Bool) => Int -> Bool
87
88 ../../typecheck/should_run/Defer01.hs:45:6: warning:
89     • Couldn't match type ‘Int’ with ‘Bool’
90       Inaccessible code in
91         the type signature for:
92           k :: (Int ~ Bool) => Int -> Bool
93     • In the ambiguity check for ‘k’
94       To defer the ambiguity check to use sites, enable AllowAmbiguousTypes
95       In the type signature:
96         k :: (Int ~ Bool) => Int -> Bool
97
98 ../../typecheck/should_run/Defer01.hs:46:1: warning:
99     Pattern match(es) are redundant
100     In an equation for ‘k’: k x = ...
101
102 ../../typecheck/should_run/Defer01.hs:49:5: warning:
103     • Couldn't match expected type ‘IO a0’
104                   with actual type ‘Char -> IO ()’
105     • Probable cause: ‘putChar’ is applied to too few arguments
106       In the first argument of ‘(>>)’, namely ‘putChar’
107       In the expression: putChar >> putChar 'p'
108 *** Exception: ../../typecheck/should_run/Defer01.hs:11:40: error:
109     • Couldn't match type ‘Char’ with ‘[Char]’
110       Expected type: String
111         Actual type: Char
112     • In the first argument of ‘putStr’, namely ‘','’
113       In the second argument of ‘(>>)’, namely ‘putStr ','’
114       In the expression: putStr "Hello World" >> putStr ','
115 (deferred type error)
116 *** Exception: ../../typecheck/should_run/Defer01.hs:14:5: error:
117     • Couldn't match expected type ‘Int’ with actual type ‘Char’
118     • In the expression: 'p'
119       In an equation for ‘a’: a = 'p'
120 (deferred type error)
121 *** Exception: ../../typecheck/should_run/Defer01.hs:18:9: error:
122     • No instance for (Eq B) arising from a use of ‘==’
123     • In the expression: x == x
124       In an equation for ‘b’: b x = x == x
125 (deferred type error)
126
127 <interactive>:7:11: error:
128     • Couldn't match type ‘Bool’ with ‘Int’
129       Expected type: C Int
130         Actual type: C Bool
131     • In the first argument of ‘c’, namely ‘(C2 True)’
132       In the first argument of ‘print’, namely ‘(c (C2 True))’
133 *** Exception: ../../typecheck/should_run/Defer01.hs:28:5: error:
134     • No instance for (Num (a -> a)) arising from the literal ‘1’
135         (maybe you haven't applied a function to enough arguments?)
136     • In the expression: 1
137       In an equation for ‘d’: d = 1
138 (deferred type error)
139 *** Exception: ../../typecheck/should_run/Defer01.hs:31:5: error:
140     • Couldn't match expected type ‘Char -> t’ with actual type ‘Char’
141     • The function ‘e’ is applied to one argument,
142       but its type ‘Char’ has none
143       In the expression: e 'q'
144       In an equation for ‘f’: f = e 'q'
145     • Relevant bindings include
146         f :: t (bound at ../../typecheck/should_run/Defer01.hs:31:1)
147 (deferred type error)
148 *** Exception: ../../typecheck/should_run/Defer01.hs:34:8: error:
149     • Couldn't match expected type ‘Char’ with actual type ‘a’
150       ‘a’ is a rigid type variable bound by
151         the type signature for:
152           h :: forall a. a -> (Char, Char)
153         at ../../typecheck/should_run/Defer01.hs:33:6
154     • In the expression: x
155       In the expression: (x, 'c')
156     • Relevant bindings include
157         x :: a (bound at ../../typecheck/should_run/Defer01.hs:34:3)
158         h :: a -> (Char, Char)
159           (bound at ../../typecheck/should_run/Defer01.hs:34:1)
160 (deferred type error)
161 *** Exception: ../../typecheck/should_run/Defer01.hs:39:17: error:
162     • Couldn't match expected type ‘Bool’ with actual type ‘T a’
163     • In the first argument of ‘not’, namely ‘(K a)’
164       In the expression: (not (K a))
165     • Relevant bindings include
166         a :: a (bound at ../../typecheck/should_run/Defer01.hs:39:3)
167         i :: a -> () (bound at ../../typecheck/should_run/Defer01.hs:39:1)
168 (deferred type error)
169 *** Exception: ../../typecheck/should_run/Defer01.hs:43:5: error:
170     • No instance for (MyClass a1) arising from a use of ‘myOp’
171     • In the expression: myOp 23
172       In an equation for ‘j’: j = myOp 23
173 (deferred type error)
174
175 <interactive>:13:8: error:
176     • Couldn't match expected type ‘Bool’ with actual type ‘Int’
177     • In the first argument of ‘print’, namely ‘(k 2)’
178       In the expression: print (k 2)
179       In an equation for ‘it’: it = print (k 2)
180 *** Exception: ../../typecheck/should_run/Defer01.hs:49:5: error:
181     • Couldn't match expected type ‘IO a0’
182                   with actual type ‘Char -> IO ()’
183     • Probable cause: ‘putChar’ is applied to too few arguments
184       In the first argument of ‘(>>)’, namely ‘putChar’
185       In the expression: putChar >> putChar 'p'
186 (deferred type error)