Allow CSE'ing of work-wrapped bindings (#14186)
[ghc.git] / testsuite / tests / roles / should_compile / T8958.stderr
1
2 T8958.hs:1:31: warning:
3     -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
4 TYPE SIGNATURES
5   T8958.MkMap :: forall k v. [(k, v)] -> Map k v
6 TYPE CONSTRUCTORS
7   type role Map nominal representational
8   newtype (Nominal k, Representational v) => Map k v = MkMap [(k, v)]
9   class Nominal a
10   type role Representational representational
11   class Representational a
12 COERCION AXIOMS
13   axiom T8958.N:Map :: Map k v = [(k, v)] -- Defined at T8958.hs:13:1
14 INSTANCES
15   instance [incoherent] Representational a
16     -- Defined at T8958.hs:10:10
17   instance [incoherent] Nominal a -- Defined at T8958.hs:7:10
18 Dependent modules: []
19 Dependent packages: [base-4.10.0.0, ghc-prim-0.5.1.0,
20                      integer-gmp-1.0.1.0]
21
22 ==================== Typechecker ====================
23 T8958.$tcMap
24   = GHC.Types.TyCon
25       16542473435673943392##
26       5374201132143305512##
27       T8958.$trModule
28       (GHC.Types.TrNameS "Map"#)
29       0
30       GHC.Types.krep$*->*->*
31 T8958.$tc'MkMap
32   = GHC.Types.TyCon
33       2942839876828444488##
34       3989137838066763457##
35       T8958.$trModule
36       (GHC.Types.TrNameS "'MkMap"#)
37       2
38       $krep
39 T8958.$tcRepresentational
40   = GHC.Types.TyCon
41       12809567151893673426##
42       12159693688248149156##
43       T8958.$trModule
44       (GHC.Types.TrNameS "Representational"#)
45       0
46       $krep
47 T8958.$tc'C:Representational
48   = GHC.Types.TyCon
49       2358772282532242424##
50       5444038897914446879##
51       T8958.$trModule
52       (GHC.Types.TrNameS "'C:Representational"#)
53       1
54       $krep
55 T8958.$tcNominal
56   = GHC.Types.TyCon
57       12224997609886144634##
58       9866011944332051160##
59       T8958.$trModule
60       (GHC.Types.TrNameS "Nominal"#)
61       0
62       $krep
63 T8958.$tc'C:Nominal
64   = GHC.Types.TyCon
65       10562260635335201742##
66       1215478186250709459##
67       T8958.$trModule
68       (GHC.Types.TrNameS "'C:Nominal"#)
69       1
70       $krep
71 $krep [InlPrag=NOUSERINLINE[~]] = GHC.Types.KindRepVar 0
72 $krep [InlPrag=NOUSERINLINE[~]] = GHC.Types.KindRepVar 1
73 $krep [InlPrag=NOUSERINLINE[~]] = GHC.Types.KindRepFun $krep $krep
74 $krep [InlPrag=NOUSERINLINE[~]]
75   = GHC.Types.KindRepFun GHC.Types.krep$* $krep
76 $krep [InlPrag=NOUSERINLINE[~]]
77   = GHC.Types.KindRepTyConApp
78       GHC.Tuple.$tc(,)
79       ((:) @ GHC.Types.KindRep
80          $krep ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep))
81 $krep [InlPrag=NOUSERINLINE[~]]
82   = GHC.Types.KindRepTyConApp
83       T8958.$tcMap
84       ((:) @ GHC.Types.KindRep
85          $krep ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep))
86 $krep [InlPrag=NOUSERINLINE[~]]
87   = GHC.Types.KindRepTyConApp
88       GHC.Types.$tc[]
89       ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
90 $krep [InlPrag=NOUSERINLINE[~]]
91   = GHC.Types.KindRepTyConApp
92       GHC.Types.$tcConstraint [] @ GHC.Types.KindRep
93 $krep [InlPrag=NOUSERINLINE[~]]
94   = GHC.Types.KindRepTyConApp
95       T8958.$tcRepresentational
96       ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
97 $krep [InlPrag=NOUSERINLINE[~]]
98   = GHC.Types.KindRepTyConApp
99       T8958.$tcNominal
100       ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
101 T8958.$trModule
102   = GHC.Types.Module
103       (GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "T8958"#)
104 AbsBinds [a] []
105   {Exports: [T8958.$fRepresentationala <= $dRepresentational
106                wrap: <>]
107    Exported types: T8958.$fRepresentationala [InlPrag=NOUSERINLINE CONLIKE]
108                      :: forall a. Representational a
109                    [LclIdX[DFunId],
110                     Unf=DFun: \ (@ a) -> T8958.C:Representational TYPE: a]
111    Binds: $dRepresentational = T8958.C:Representational @ a
112    Evidence: [EvBinds{}]}
113 AbsBinds [a] []
114   {Exports: [T8958.$fNominala <= $dNominal
115                wrap: <>]
116    Exported types: T8958.$fNominala [InlPrag=NOUSERINLINE CONLIKE]
117                      :: forall a. Nominal a
118                    [LclIdX[DFunId], Unf=DFun: \ (@ a) -> T8958.C:Nominal TYPE: a]
119    Binds: $dNominal = T8958.C:Nominal @ a
120    Evidence: [EvBinds{}]}
121