blob: 8fcf999b32fe203a58b3b1325d945eeb1ee6f066 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
-- Test -fdefer-type-errors
-- Should compile and run
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE AllowAmbiguousTypes #-} -- Allows the strange type for `k`
{-# OPTIONS_GHC -fdefer-type-errors #-}
module Main where
t5624 :: IO ()
t5624 = putStr "Hello World" >> putStr ','
a :: Int
a = 'p'
data B = B
b :: B -> Bool
b x = x == x
data C a where
C1 :: C Int
C2 :: Bool -> C Bool
c :: C Int -> Bool
c (C2 x) = True
d :: a -> a
d = 1
e = 'p'
f = e 'q'
h :: a -> (Char,Char)
h x = (x,'c')
data T a where
K :: a -> T a
i a = seq (not (K a)) ()
class MyClass a where myOp :: a -> String
j = myOp 23 -- Two errors, should not combine them
-- No longer reported as an error: #12466
k :: (Int ~ Bool) => Int -> Bool
k x = x
l :: IO ()
l = putChar >> putChar 'p'
main :: IO ()
main = print "No errors!"
|