Add kind equalities to GHC.
[ghc.git] / testsuite / tests / roles / should_compile / Roles3.stderr
1 TYPE SIGNATURES
2 TYPE CONSTRUCTORS
3   class C1 a where
4     meth1 :: a -> a
5     {-# MINIMAL meth1 #-}
6   class C2 a b where
7     meth2 :: a ~ b => a -> b
8     {-# MINIMAL meth2 #-}
9   class C3 a b where
10     type family F3 b open
11       Kind: * -> *
12     meth3 :: a -> F3 b -> F3 b
13     {-# MINIMAL meth3 #-}
14   class C4 a b where
15     meth4 :: a -> F4 b -> F4 b
16     {-# MINIMAL meth4 #-}
17   type family F4 a open
18     Kind: * -> *
19   type Syn1 a = F4 a
20   type Syn2 a = [a]
21 COERCION AXIOMS
22   axiom Roles3.NTCo:C1 :: C1 a = a -> a -- Defined at Roles3.hs:6:1
23   axiom Roles3.NTCo:C2 ::
24     C2 a b = (a ~ b) => a -> b -- Defined at Roles3.hs:9:1
25   axiom Roles3.NTCo:C3 ::
26     C3 a b = a -> F3 b -> F3 b -- Defined at Roles3.hs:12:1
27   axiom Roles3.NTCo:C4 ::
28     C4 a b = a -> F4 b -> F4 b -- Defined at Roles3.hs:18:1
29 Dependent modules: []
30 Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
31                      integer-gmp-1.0.0.0]
32
33 ==================== Typechecker ====================
34 Roles3.$tcC4 = TyCon 0## 0## Roles3.$trModule (TrNameS "C4"#)
35 Roles3.$tc'D:C4 = TyCon 0## 0## Roles3.$trModule (TrNameS "'D:C4"#)
36 Roles3.$tcC3 = TyCon 0## 0## Roles3.$trModule (TrNameS "C3"#)
37 Roles3.$tc'D:C3 = TyCon 0## 0## Roles3.$trModule (TrNameS "'D:C3"#)
38 Roles3.$tcC2 = TyCon 0## 0## Roles3.$trModule (TrNameS "C2"#)
39 Roles3.$tc'D:C2 = TyCon 0## 0## Roles3.$trModule (TrNameS "'D:C2"#)
40 Roles3.$tcC1 = TyCon 0## 0## Roles3.$trModule (TrNameS "C1"#)
41 Roles3.$tc'D:C1 = TyCon 0## 0## Roles3.$trModule (TrNameS "'D:C1"#)
42 Roles3.$trModule = Module (TrNameS "main"#) (TrNameS "Roles3"#)
43