summaryrefslogtreecommitdiff
path: root/testsuite/tests/roles/should_compile/Roles3.stderr
blob: 11abd0cd4cf9c3726545601d1c1f25a78180aa31 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
TYPE SIGNATURES
  meth1 :: forall a. C1 a => a -> a
  meth2 :: forall a b. (C2 a b, a ~ b) => a -> b
  meth3 :: forall a b. C3 a b => a -> F3 b -> F3 b
  meth4 :: forall a b. C4 a b => a -> F4 b -> F4 b
TYPE CONSTRUCTORS
  class C1 a where
    meth1 :: a -> a
    {-# MINIMAL meth1 #-}
  class C2 a b where
    meth2 :: a ~ b => a -> b
    {-# MINIMAL meth2 #-}
  class C3 a b where
    type family F3 b :: * open
    meth3 :: a -> F3 b -> F3 b
    {-# MINIMAL meth3 #-}
  class C4 a b where
    meth4 :: a -> F4 b -> F4 b
    {-# MINIMAL meth4 #-}
  type family F4 a :: * open
  type Syn1 a = F4 a
  type Syn2 a = [a]
COERCION AXIOMS
  axiom Roles3.N:C1 :: C1 a = a -> a -- Defined at Roles3.hs:6:1
  axiom Roles3.N:C2 ::
    C2 a b = a ~ b => a -> b -- Defined at Roles3.hs:9:1
  axiom Roles3.N:C3 ::
    C3 a b = a -> F3 b -> F3 b -- Defined at Roles3.hs:12:1
  axiom Roles3.N:C4 ::
    C4 a b = a -> F4 b -> F4 b -- Defined at Roles3.hs:18:1
Dependent modules: []
Dependent packages: [base-4.10.0.0, ghc-prim-0.5.0.0,
                     integer-gmp-1.0.0.1]

==================== Typechecker ====================
Roles3.$tcC4
  = GHC.Types.TyCon
      6800596812149592130##
      15513203864133461281##
      Roles3.$trModule
      (GHC.Types.TrNameS "C4"#)
      0
      $krep
Roles3.$tcC3
  = GHC.Types.TyCon
      5076086601454991970##
      10299714674904836194##
      Roles3.$trModule
      (GHC.Types.TrNameS "C3"#)
      0
      $krep
Roles3.$tcC2
  = GHC.Types.TyCon
      7902873224172523979##
      11840994447152209031##
      Roles3.$trModule
      (GHC.Types.TrNameS "C2"#)
      0
      $krep
Roles3.$tc'C:C2
  = GHC.Types.TyCon
      11218882737915989529##
      9454910899374397367##
      Roles3.$trModule
      (GHC.Types.TrNameS "'C:C2"#)
      2
      $krep
Roles3.$tcC1
  = GHC.Types.TyCon
      11013585501375994163##
      16371608655219610659##
      Roles3.$trModule
      (GHC.Types.TrNameS "C1"#)
      0
      $krep
Roles3.$tc'C:C1
  = GHC.Types.TyCon
      4508088879886988796##
      13962145553903222779##
      Roles3.$trModule
      (GHC.Types.TrNameS "'C:C1"#)
      1
      $krep
$krep [InlPrag=[~]] = GHC.Types.KindRepVar 0
$krep [InlPrag=[~]] = GHC.Types.KindRepVar 1
$krep [InlPrag=[~]] = GHC.Types.KindRepFun $krep $krep
$krep [InlPrag=[~]] = GHC.Types.KindRepFun $krep $krep
$krep [InlPrag=[~]] = GHC.Types.KindRepFun $krep $krep
$krep [InlPrag=[~]] = GHC.Types.KindRepFun $krep $krep
$krep [InlPrag=[~]] = GHC.Types.KindRepFun $krep $krep
$krep [InlPrag=[~]] = GHC.Types.KindRepFun GHC.Types.krep$* $krep
$krep [InlPrag=[~]] = GHC.Types.KindRepFun GHC.Types.krep$* $krep
$krep [InlPrag=[~]]
  = GHC.Types.KindRepTyConApp GHC.Types.$tcConstraint []
$krep [InlPrag=[~]]
  = GHC.Types.KindRepTyConApp
      Data.Type.Equality.$tc~
      ((:) GHC.Types.krep$* ((:) $krep ((:) $krep [])))
$krep [InlPrag=[~]]
  = GHC.Types.KindRepTyConApp Roles3.$tcC2 ((:) $krep ((:) $krep []))
$krep [InlPrag=[~]]
  = GHC.Types.KindRepTyConApp Roles3.$tcC1 ((:) $krep [])
Roles3.$trModule
  = GHC.Types.Module
      (GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "Roles3"#)