summaryrefslogtreecommitdiff
path: root/testsuite/tests/roles/should_compile/T8958.stderr
blob: 930c05b2d742937cdf4a58a74bc77eb36ba0b47e (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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121

T8958.hs:1:31: warning:
    -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
TYPE CONSTRUCTORS
  newtype Map{2} :: * -> * -> *
    roles nominal representational
  class Nominal{1} :: * -> Constraint
  class Representational{1} :: * -> Constraint
    roles representational
COERCION AXIOMS
  axiom T8958.N:Map :: Map k v = [(k, v)]
DATA CONSTRUCTORS
  MkMap :: forall k v. [(k, v)] -> Map k v
CLASS INSTANCES
  instance [incoherent] Representational a
    -- Defined at T8958.hs:10:10
  instance [incoherent] Nominal a -- Defined at T8958.hs:7:10
Dependent modules: []
Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3,
                     integer-gmp-1.0.2.0]

==================== Typechecker ====================
T8958.$tcMap
  = GHC.Types.TyCon
      16542473435673943392##
      5374201132143305512##
      T8958.$trModule
      (GHC.Types.TrNameS "Map"#)
      0
      GHC.Types.krep$*->*->*
T8958.$tc'MkMap
  = GHC.Types.TyCon
      2942839876828444488##
      3989137838066763457##
      T8958.$trModule
      (GHC.Types.TrNameS "'MkMap"#)
      2
      $krep
T8958.$tcRepresentational
  = GHC.Types.TyCon
      12809567151893673426##
      12159693688248149156##
      T8958.$trModule
      (GHC.Types.TrNameS "Representational"#)
      0
      $krep
T8958.$tc'C:Representational
  = GHC.Types.TyCon
      2358772282532242424##
      5444038897914446879##
      T8958.$trModule
      (GHC.Types.TrNameS "'C:Representational"#)
      1
      $krep
T8958.$tcNominal
  = GHC.Types.TyCon
      12224997609886144634##
      9866011944332051160##
      T8958.$trModule
      (GHC.Types.TrNameS "Nominal"#)
      0
      $krep
T8958.$tc'C:Nominal
  = GHC.Types.TyCon
      10562260635335201742##
      1215478186250709459##
      T8958.$trModule
      (GHC.Types.TrNameS "'C:Nominal"#)
      1
      $krep
$krep [InlPrag=NOUSERINLINE[~]] = GHC.Types.KindRepVar 0
$krep [InlPrag=NOUSERINLINE[~]] = GHC.Types.KindRepVar 1
$krep [InlPrag=NOUSERINLINE[~]] = GHC.Types.KindRepFun $krep $krep
$krep [InlPrag=NOUSERINLINE[~]]
  = GHC.Types.KindRepFun GHC.Types.krep$* $krep
$krep [InlPrag=NOUSERINLINE[~]]
  = GHC.Types.KindRepTyConApp
      GHC.Tuple.$tc(,)
      ((:) @ GHC.Types.KindRep
         $krep ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep))
$krep [InlPrag=NOUSERINLINE[~]]
  = GHC.Types.KindRepTyConApp
      T8958.$tcMap
      ((:) @ GHC.Types.KindRep
         $krep ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep))
$krep [InlPrag=NOUSERINLINE[~]]
  = GHC.Types.KindRepTyConApp
      GHC.Types.$tc[]
      ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
$krep [InlPrag=NOUSERINLINE[~]]
  = GHC.Types.KindRepTyConApp
      GHC.Types.$tcConstraint [] @ GHC.Types.KindRep
$krep [InlPrag=NOUSERINLINE[~]]
  = GHC.Types.KindRepTyConApp
      T8958.$tcRepresentational
      ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
$krep [InlPrag=NOUSERINLINE[~]]
  = GHC.Types.KindRepTyConApp
      T8958.$tcNominal
      ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
T8958.$trModule
  = GHC.Types.Module
      (GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "T8958"#)
AbsBinds [a] []
  {Exports: [T8958.$fRepresentationala <= $dRepresentational
               wrap: <>]
   Exported types: T8958.$fRepresentationala [InlPrag=NOUSERINLINE CONLIKE]
                     :: forall a. Representational a
                   [LclIdX[DFunId],
                    Unf=DFun: \ (@ a) -> T8958.C:Representational TYPE: a]
   Binds: $dRepresentational = T8958.C:Representational @ a
   Evidence: [EvBinds{}]}
AbsBinds [a] []
  {Exports: [T8958.$fNominala <= $dNominal
               wrap: <>]
   Exported types: T8958.$fNominala [InlPrag=NOUSERINLINE CONLIKE]
                     :: forall a. Nominal a
                   [LclIdX[DFunId], Unf=DFun: \ (@ a) -> T8958.C:Nominal TYPE: a]
   Binds: $dNominal = T8958.C:Nominal @ a
   Evidence: [EvBinds{}]}