Produce KindReps for common kinds in GHC.Types
[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.0.0,
20                      integer-gmp-1.0.0.1]
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       GHC.Types.krep$*Arr*
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       GHC.Types.krep$*Arr*
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=[~]] = GHC.Types.KindRepVar 0
72 $krep [InlPrag=[~]] = GHC.Types.KindRepVar 1
73 $krep [InlPrag=[~]] = GHC.Types.KindRepFun $krep $krep
74 $krep [InlPrag=[~]]
75   = GHC.Types.KindRepTyConApp
76       GHC.Tuple.$tc(,)
77       ((:) @ GHC.Types.KindRep
78          $krep ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep))
79 $krep [InlPrag=[~]]
80   = GHC.Types.KindRepTyConApp
81       T8958.$tcMap
82       ((:) @ GHC.Types.KindRep
83          $krep ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep))
84 $krep [InlPrag=[~]]
85   = GHC.Types.KindRepTyConApp
86       GHC.Types.$tc[]
87       ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
88 $krep [InlPrag=[~]]
89   = GHC.Types.KindRepTyConApp
90       T8958.$tcRepresentational
91       ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
92 $krep [InlPrag=[~]]
93   = GHC.Types.KindRepTyConApp
94       T8958.$tcNominal
95       ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
96 T8958.$trModule
97   = GHC.Types.Module
98       (GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "T8958"#)
99 AbsBinds [a] []
100   {Exports: [T8958.$fRepresentationala <= $dRepresentational
101                wrap: <>]
102    Exported types: T8958.$fRepresentationala [InlPrag=CONLIKE]
103                      :: forall a. Representational a
104                    [LclIdX[DFunId],
105                     Unf=DFun: \ (@ a) -> T8958.C:Representational TYPE: a]
106    Binds: $dRepresentational = T8958.C:Representational @ a
107    Evidence: [EvBinds{}]}
108 AbsBinds [a] []
109   {Exports: [T8958.$fNominala <= $dNominal
110                wrap: <>]
111    Exported types: T8958.$fNominala [InlPrag=CONLIKE]
112                      :: forall a. Nominal a
113                    [LclIdX[DFunId], Unf=DFun: \ (@ a) -> T8958.C:Nominal TYPE: a]
114    Binds: $dNominal = T8958.C:Nominal @ a
115    Evidence: [EvBinds{}]}
116