Add HsSyn prettyprinter tests
[ghc.git] / testsuite / tests / typecheck / should_fail / TcCoercibleFail.stderr
1
2 TcCoercibleFail.hs:11:8: error:
3     • Couldn't match representation of type ‘Int’ with that of ‘()’
4         arising from a use of ‘coerce’
5     • In the expression: coerce $ one :: ()
6       In an equation for ‘foo1’: foo1 = coerce $ one :: ()
7
8 TcCoercibleFail.hs:14:8: error:
9     • Couldn't match representation of type ‘m Int’
10                                with that of ‘m Age’
11         arising from a use of ‘coerce’
12       NB: We cannot know what roles the parameters to ‘m’ have;
13         we must assume that the role is nominal
14     • In the expression: coerce $ (return one :: m Int)
15       In an equation for ‘foo2’: foo2 = coerce $ (return one :: m Int)
16     • Relevant bindings include
17         foo2 :: m Age (bound at TcCoercibleFail.hs:14:1)
18
19 TcCoercibleFail.hs:16:8: error:
20     • Couldn't match type ‘Int’ with ‘Age’
21         arising from a use of ‘coerce’
22     • In the expression: coerce $ Map one () :: Map Age ()
23       In an equation for ‘foo3’: foo3 = coerce $ Map one () :: Map Age ()
24
25 TcCoercibleFail.hs:18:8: error:
26     • Couldn't match representation of type ‘Int’
27                                with that of ‘Down Int’
28         arising from a use of ‘coerce’
29       The data constructor ‘Data.Ord.Down’
30         of newtype ‘Down’ is not in scope
31     • In the expression: coerce $ one :: Down Int
32       In an equation for ‘foo4’: foo4 = coerce $ one :: Down Int
33
34 TcCoercibleFail.hs:21:8: error:
35     • Couldn't match representation of type ‘Void’ with that of ‘()’
36         arising from a use of ‘coerce’
37     • In the expression: coerce :: Void -> ()
38       In an equation for ‘foo5’: foo5 = coerce :: Void -> ()
39
40 TcCoercibleFail.hs:30:9: error:
41     • Couldn't match representation of type ‘VoidBad ()’
42                                with that of ‘()’
43         arising from a use of ‘coerce’
44     • In the expression: coerce :: (VoidBad ()) -> ()
45       In an equation for ‘foo5'’: foo5' = coerce :: (VoidBad ()) -> ()
46
47 TcCoercibleFail.hs:35:8: error:
48     • Reduction stack overflow; size = 201
49       When simplifying the following type:
50         Coercible (Fix (Either Int)) (Fix (Either Age))
51       Use -freduction-depth=0 to disable this check
52       (any upper bound you could choose might fail unpredictably with
53        minor updates to GHC, so disabling the check is recommended if
54        you're sure that type checking should terminate)
55     • In the expression: coerce :: Fix (Either Int) -> Fix (Either Age)
56       In an equation for ‘foo6’:
57           foo6 = coerce :: Fix (Either Int) -> Fix (Either Age)
58
59 TcCoercibleFail.hs:36:8: error:
60     • Couldn't match representation of type ‘Either
61                                                Int (Fix (Either Int))’
62                                with that of ‘()’
63         arising from a use of ‘coerce’
64     • In the expression: coerce :: Fix (Either Int) -> ()
65       In an equation for ‘foo7’: foo7 = coerce :: Fix (Either Int) -> ()