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