summaryrefslogtreecommitdiff
path: root/testsuite/tests/roles/should_compile/T8958.stderr
blob: ab2d069774451de57af6cfbeb1110d0c244183f0 (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

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.14.0.0, ghc-bignum-1.0, ghc-prim-0.7.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{}]}