gitlab-ci: Update bootstrap compiled used for Darwin builds
[ghc.git] / testsuite / tests / partial-sigs / should_compile / ExtraConstraints3.hs
1 {-# LANGUAGE PartialTypeSignatures #-}
2 {-# LANGUAGE NoMonomorphismRestriction #-}
3 module ExtraConstraints3 where
4
5 import qualified Prelude as P
6
7 import Prelude (Bool, Bounded, Char, Either, Enum, Eq, FilePath, Floating,
8 Fractional, Functor, IO, IOError, Int, Integer, Integral,
9 Maybe, Monad, Num, Ord, Ordering, Rational, Read, ReadS, Real,
10 RealFloat, RealFrac, Show, ShowS, String)
11
12 -- Proof by enumeration! jk :p
13 -- All of Prelude typechecks given the dummy type signature `_ => _`,
14 -- which is the same as omitting the type signature entirely.
15
16 (!!) :: _ => _
17 (!!) = (P.!!)
18 ($!) :: _ => _
19 ($!) = (P.$!)
20 ($) :: _ => _
21 ($) = (P.$)
22 (&&) :: _ => _
23 (&&) = (P.&&)
24 (*) :: _ => _
25 (*) = (P.*)
26 (**) :: _ => _
27 (**) = (P.**)
28 (+) :: _ => _
29 (+) = (P.+)
30 (++) :: _ => _
31 (++) = (P.++)
32 (-) :: _ => _
33 (-) = (P.-)
34 (.) :: _ => _
35 (.) = (P..)
36 (/) :: _ => _
37 (/) = (P./)
38 (/=) :: _ => _
39 (/=) = (P./=)
40 (<) :: _ => _
41 (<) = (P.<)
42 (<=) :: _ => _
43 (<=) = (P.<=)
44 (=<<) :: _ => _
45 (=<<) = (P.=<<)
46 (==) :: _ => _
47 (==) = (P.==)
48 (>) :: _ => _
49 (>) = (P.>)
50 (>=) :: _ => _
51 (>=) = (P.>=)
52 (>>) :: _ => _
53 (>>) = (P.>>)
54 (>>=) :: _ => _
55 (>>=) = (P.>>=)
56 (^) :: _ => _
57 (^) = (P.^)
58 (^^) :: _ => _
59 (^^) = (P.^^)
60 (||) :: _ => _
61 (||) = (P.||)
62 abs :: _ => _
63 abs = P.abs
64 acos :: _ => _
65 acos = P.acos
66 acosh :: _ => _
67 acosh = P.acosh
68 all :: _ => _
69 all = P.all
70 and :: _ => _
71 and = P.and
72 any :: _ => _
73 any = P.any
74 appendFile :: _ => _
75 appendFile = P.appendFile
76 asTypeOf :: _ => _
77 asTypeOf = P.asTypeOf
78 asin :: _ => _
79 asin = P.asin
80 asinh :: _ => _
81 asinh = P.asinh
82 atan :: _ => _
83 atan = P.atan
84 atan2 :: _ => _
85 atan2 = P.atan2
86 atanh :: _ => _
87 atanh = P.atanh
88 break :: _ => _
89 break = P.break
90 ceiling :: _ => _
91 ceiling = P.ceiling
92 compare :: _ => _
93 compare = P.compare
94 concat :: _ => _
95 concat = P.concat
96 concatMap :: _ => _
97 concatMap = P.concatMap
98 const :: _ => _
99 const = P.const
100 cos :: _ => _
101 cos = P.cos
102 cosh :: _ => _
103 cosh = P.cosh
104 curry :: _ => _
105 curry = P.curry
106 cycle :: _ => _
107 cycle = P.cycle
108 decodeFloat :: _ => _
109 decodeFloat = P.decodeFloat
110 div :: _ => _
111 div = P.div
112 divMod :: _ => _
113 divMod = P.divMod
114 drop :: _ => _
115 drop = P.drop
116 dropWhile :: _ => _
117 dropWhile = P.dropWhile
118 either :: _ => _
119 either = P.either
120 elem :: _ => _
121 elem = P.elem
122 encodeFloat :: _ => _
123 encodeFloat = P.encodeFloat
124 enumFrom :: _ => _
125 enumFrom = P.enumFrom
126 enumFromThen :: _ => _
127 enumFromThen = P.enumFromThen
128 enumFromThenTo :: _ => _
129 enumFromThenTo = P.enumFromThenTo
130 enumFromTo :: _ => _
131 enumFromTo = P.enumFromTo
132 error :: _ => _
133 error = P.error
134 even :: _ => _
135 even = P.even
136 exp :: _ => _
137 exp = P.exp
138 exponent :: _ => _
139 exponent = P.exponent
140 fail :: _ => _
141 fail = P.fail
142 filter :: _ => _
143 filter = P.filter
144 flip :: _ => _
145 flip = P.flip
146 floatDigits :: _ => _
147 floatDigits = P.floatDigits
148 floatRadix :: _ => _
149 floatRadix = P.floatRadix
150 floatRange :: _ => _
151 floatRange = P.floatRange
152 floor :: _ => _
153 floor = P.floor
154 fmap :: _ => _
155 fmap = P.fmap
156 foldl :: _ => _
157 foldl = P.foldl
158 foldl1 :: _ => _
159 foldl1 = P.foldl1
160 foldr :: _ => _
161 foldr = P.foldr
162 foldr1 :: _ => _
163 foldr1 = P.foldr1
164 fromEnum :: _ => _
165 fromEnum = P.fromEnum
166 fromInteger :: _ => _
167 fromInteger = P.fromInteger
168 fromIntegral :: _ => _
169 fromIntegral = P.fromIntegral
170 fromRational :: _ => _
171 fromRational = P.fromRational
172 fst :: _ => _
173 fst = P.fst
174 gcd :: _ => _
175 gcd = P.gcd
176 getChar :: _ => _
177 getChar = P.getChar
178 getContents :: _ => _
179 getContents = P.getContents
180 getLine :: _ => _
181 getLine = P.getLine
182 head :: _ => _
183 head = P.head
184 id :: _ => _
185 id = P.id
186 init :: _ => _
187 init = P.init
188 interact :: _ => _
189 interact = P.interact
190 ioError :: _ => _
191 ioError = P.ioError
192 isDenormalized :: _ => _
193 isDenormalized = P.isDenormalized
194 isIEEE :: _ => _
195 isIEEE = P.isIEEE
196 isInfinite :: _ => _
197 isInfinite = P.isInfinite
198 isNaN :: _ => _
199 isNaN = P.isNaN
200 isNegativeZero :: _ => _
201 isNegativeZero = P.isNegativeZero
202 iterate :: _ => _
203 iterate = P.iterate
204 last :: _ => _
205 last = P.last
206 lcm :: _ => _
207 lcm = P.lcm
208 length :: _ => _
209 length = P.length
210 lex :: _ => _
211 lex = P.lex
212 lines :: _ => _
213 lines = P.lines
214 log :: _ => _
215 log = P.log
216 logBase :: _ => _
217 logBase = P.logBase
218 lookup :: _ => _
219 lookup = P.lookup
220 map :: _ => _
221 map = P.map
222 mapM :: _ => _
223 mapM = P.mapM
224 mapM_ :: _ => _
225 mapM_ = P.mapM_
226 max :: _ => _
227 max = P.max
228 maxBound :: _ => _
229 maxBound = P.maxBound
230 maximum :: _ => _
231 maximum = P.maximum
232 maybe :: _ => _
233 maybe = P.maybe
234 min :: _ => _
235 min = P.min
236 minBound :: _ => _
237 minBound = P.minBound
238 minimum :: _ => _
239 minimum = P.minimum
240 mod :: _ => _
241 mod = P.mod
242 negate :: _ => _
243 negate = P.negate
244 not :: _ => _
245 not = P.not
246 notElem :: _ => _
247 notElem = P.notElem
248 null :: _ => _
249 null = P.null
250 odd :: _ => _
251 odd = P.odd
252 or :: _ => _
253 or = P.or
254 otherwise :: _ => _
255 otherwise = P.otherwise
256 pi :: _ => _
257 pi = P.pi
258 pred :: _ => _
259 pred = P.pred
260 print :: _ => _
261 print = P.print
262 product :: _ => _
263 product = P.product
264 properFraction :: _ => _
265 properFraction = P.properFraction
266 putChar :: _ => _
267 putChar = P.putChar
268 putStr :: _ => _
269 putStr = P.putStr
270 putStrLn :: _ => _
271 putStrLn = P.putStrLn
272 quot :: _ => _
273 quot = P.quot
274 quotRem :: _ => _
275 quotRem = P.quotRem
276 read :: _ => _
277 read = P.read
278 readFile :: _ => _
279 readFile = P.readFile
280 readIO :: _ => _
281 readIO = P.readIO
282 readList :: _ => _
283 readList = P.readList
284 readLn :: _ => _
285 readLn = P.readLn
286 readParen :: _ => _
287 readParen = P.readParen
288 reads :: _ => _
289 reads = P.reads
290 readsPrec :: _ => _
291 readsPrec = P.readsPrec
292 realToFrac :: _ => _
293 realToFrac = P.realToFrac
294 recip :: _ => _
295 recip = P.recip
296 rem :: _ => _
297 rem = P.rem
298 repeat :: _ => _
299 repeat = P.repeat
300 replicate :: _ => _
301 replicate = P.replicate
302 return :: _ => _
303 return = P.return
304 reverse :: _ => _
305 reverse = P.reverse
306 round :: _ => _
307 round = P.round
308 scaleFloat :: _ => _
309 scaleFloat = P.scaleFloat
310 scanl :: _ => _
311 scanl = P.scanl
312 scanl1 :: _ => _
313 scanl1 = P.scanl1
314 scanr :: _ => _
315 scanr = P.scanr
316 scanr1 :: _ => _
317 scanr1 = P.scanr1
318 seq :: _ => _
319 seq = P.seq
320 sequence :: _ => _
321 sequence = P.sequence
322 sequence_ :: _ => _
323 sequence_ = P.sequence_
324 show :: _ => _
325 show = P.show
326 showChar :: _ => _
327 showChar = P.showChar
328 showList :: _ => _
329 showList = P.showList
330 showParen :: _ => _
331 showParen = P.showParen
332 showString :: _ => _
333 showString = P.showString
334 shows :: _ => _
335 shows = P.shows
336 showsPrec :: _ => _
337 showsPrec = P.showsPrec
338 significand :: _ => _
339 significand = P.significand
340 signum :: _ => _
341 signum = P.signum
342 sin :: _ => _
343 sin = P.sin
344 sinh :: _ => _
345 sinh = P.sinh
346 snd :: _ => _
347 snd = P.snd
348 span :: _ => _
349 span = P.span
350 splitAt :: _ => _
351 splitAt = P.splitAt
352 sqrt :: _ => _
353 sqrt = P.sqrt
354 subtract :: _ => _
355 subtract = P.subtract
356 succ :: _ => _
357 succ = P.succ
358 sum :: _ => _
359 sum = P.sum
360 tail :: _ => _
361 tail = P.tail
362 take :: _ => _
363 take = P.take
364 takeWhile :: _ => _
365 takeWhile = P.takeWhile
366 tan :: _ => _
367 tan = P.tan
368 tanh :: _ => _
369 tanh = P.tanh
370 toEnum :: _ => _
371 toEnum = P.toEnum
372 toInteger :: _ => _
373 toInteger = P.toInteger
374 toRational :: _ => _
375 toRational = P.toRational
376 truncate :: _ => _
377 truncate = P.truncate
378 uncurry :: _ => _
379 uncurry = P.uncurry
380 undefined :: _ => _
381 undefined = P.undefined
382 unlines :: _ => _
383 unlines = P.unlines
384 until :: _ => _
385 until = P.until
386 unwords :: _ => _
387 unwords = P.unwords
388 unzip :: _ => _
389 unzip = P.unzip
390 unzip3 :: _ => _
391 unzip3 = P.unzip3
392 userError :: _ => _
393 userError = P.userError
394 words :: _ => _
395 words = P.words
396 writeFile :: _ => _
397 writeFile = P.writeFile
398 zip :: _ => _
399 zip = P.zip
400 zip3 :: _ => _
401 zip3 = P.zip3
402 zipWith :: _ => _
403 zipWith = P.zipWith
404 zipWith3 :: _ => _
405 zipWith3 = P.zipWith3