summaryrefslogtreecommitdiff
path: root/testsuite/tests/roles/should_compile
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2017-03-03 14:39:00 -0500
committerBen Gamari <ben@smart-cactus.org>2017-03-03 14:39:01 -0500
commita694cee77b64235b42029fea248453ddf6b17d17 (patch)
tree1177b386761a624a9db9f2e41753e8061381ff81 /testsuite/tests/roles/should_compile
parentfa360eabe5a01815f27a09df4a245546ede9210a (diff)
downloadhaskell-a694cee77b64235b42029fea248453ddf6b17d17.tar.gz
TcTypeable: Try to reuse KindReps
Here we rework the TcTypeable implementation to reuse KindRep bindings when possible. This is an attempt at minimizing the impact of Typeable binding generation by reducing the number of bindings that we produce. It turns out that this produces some pretty reasonable compiler allocations improvements. It seems to erase most of the increases initially introduced by TTypeable in the testsuite. Moreover, nofib shows, ``` -1 s.d. ----- -3.555% +1 s.d. ----- +1.937% Average ----- -0.847% ``` Here are a few of the high-scorers (ignore last column, which is for D3219), ``` veritas Types 88800920 -18.945% -21.480% veritas Tactics 540766744 -27.256% -27.338% sched Main 567013384 -4.947% -5.358% listcompr Main 532300000 -4.273% -4.572% listcopy Main 537785392 -4.382% -4.635% anna BaseDefs 1984225032 -10.639% -10.832% ``` as expected, these tend to be modules with either very many or very large types. Test Plan: Validate Reviewers: austin, dfeuer Subscribers: simonmar, dfeuer, thomie Differential Revision: https://phabricator.haskell.org/D3166
Diffstat (limited to 'testsuite/tests/roles/should_compile')
-rw-r--r--testsuite/tests/roles/should_compile/Roles1.stderr101
-rw-r--r--testsuite/tests/roles/should_compile/Roles13.stderr85
-rw-r--r--testsuite/tests/roles/should_compile/Roles14.stderr15
-rw-r--r--testsuite/tests/roles/should_compile/Roles2.stderr31
-rw-r--r--testsuite/tests/roles/should_compile/Roles3.stderr56
-rw-r--r--testsuite/tests/roles/should_compile/Roles4.stderr33
-rw-r--r--testsuite/tests/roles/should_compile/T8958.stderr66
7 files changed, 136 insertions, 251 deletions
diff --git a/testsuite/tests/roles/should_compile/Roles1.stderr b/testsuite/tests/roles/should_compile/Roles1.stderr
index 574750ce44..ae4570ab47 100644
--- a/testsuite/tests/roles/should_compile/Roles1.stderr
+++ b/testsuite/tests/roles/should_compile/Roles1.stderr
@@ -33,12 +33,6 @@ Roles1.$tcT7
(GHC.Types.TrNameS "T7"#)
1
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0)
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep))
Roles1.$tc'K7
= GHC.Types.TyCon
15901479081375327280##
@@ -47,14 +41,6 @@ Roles1.$tc'K7
(GHC.Types.TrNameS "'K7"#)
3
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 2)
- (GHC.Types.KindRepTyConApp
- Roles1.$tcT7
- ((:)
- (GHC.Types.KindRepVar 0)
- ((:) (GHC.Types.KindRepVar 1) ((:) (GHC.Types.KindRepVar 2) []))))
Roles1.$tcT6
= GHC.Types.TyCon
7244893995195634045##
@@ -63,10 +49,6 @@ Roles1.$tcT6
(GHC.Types.TrNameS "T6"#)
1
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
Roles1.$tc'K6
= GHC.Types.TyCon
13928703131159360198##
@@ -75,10 +57,6 @@ Roles1.$tc'K6
(GHC.Types.TrNameS "'K6"#)
2
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepTyConApp
- Roles1.$tcT6
- ((:) (GHC.Types.KindRepVar 0) ((:) (GHC.Types.KindRepVar 1) []))
Roles1.$tcT5
= GHC.Types.TyCon
12033401645911719002##
@@ -87,10 +65,6 @@ Roles1.$tcT5
(GHC.Types.TrNameS "T5"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
Roles1.$tc'K5
= GHC.Types.TyCon
5548842497263642061##
@@ -99,11 +73,6 @@ Roles1.$tc'K5
(GHC.Types.TrNameS "'K5"#)
1
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0)
- (GHC.Types.KindRepTyConApp
- Roles1.$tcT5 ((:) (GHC.Types.KindRepVar 0) []))
Roles1.$tcT4
= GHC.Types.TyCon
15834077582937152787##
@@ -112,14 +81,6 @@ Roles1.$tcT4
(GHC.Types.TrNameS "T4"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep))
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep))
Roles1.$tc'K4
= GHC.Types.TyCon
10188453925450404995##
@@ -128,13 +89,6 @@ Roles1.$tc'K4
(GHC.Types.TrNameS "'K4"#)
2
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepApp
- (GHC.Types.KindRepVar 0) (GHC.Types.KindRepVar 1))
- (GHC.Types.KindRepTyConApp
- Roles1.$tcT4
- ((:) (GHC.Types.KindRepVar 0) ((:) (GHC.Types.KindRepVar 1) [])))
Roles1.$tcT3
= GHC.Types.TyCon
13341737262627465733##
@@ -143,10 +97,6 @@ Roles1.$tcT3
(GHC.Types.TrNameS "T3"#)
1
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
Roles1.$tc'K3
= GHC.Types.TyCon
14534968069054730342##
@@ -155,10 +105,6 @@ Roles1.$tc'K3
(GHC.Types.TrNameS "'K3"#)
2
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepTyConApp
- Roles1.$tcT3
- ((:) (GHC.Types.KindRepVar 0) ((:) (GHC.Types.KindRepVar 1) []))
Roles1.$tcT2
= GHC.Types.TyCon
12900773996789723956##
@@ -167,10 +113,6 @@ Roles1.$tcT2
(GHC.Types.TrNameS "T2"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
Roles1.$tc'K2
= GHC.Types.TyCon
11054915488163123841##
@@ -179,11 +121,6 @@ Roles1.$tc'K2
(GHC.Types.TrNameS "'K2"#)
1
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0)
- (GHC.Types.KindRepTyConApp
- Roles1.$tcT2 ((:) (GHC.Types.KindRepVar 0) []))
Roles1.$tcT1
= GHC.Types.TyCon
13228660854624297872##
@@ -192,10 +129,6 @@ Roles1.$tcT1
(GHC.Types.TrNameS "T1"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
Roles1.$tc'K1
= GHC.Types.TyCon
1265606750138351672##
@@ -204,11 +137,37 @@ Roles1.$tc'K1
(GHC.Types.TrNameS "'K1"#)
1
$krep
+$krep [InlPrag=[~]] = GHC.Types.KindRepVar 1
+$krep [InlPrag=[~]] = GHC.Types.KindRepVar 0
+$krep [InlPrag=[~]] = GHC.Types.KindRepVar 0
+$krep [InlPrag=[~]] = GHC.Types.KindRepVar 1
+$krep [InlPrag=[~]] = GHC.Types.KindRepVar 2
+$krep [InlPrag=[~]] = GHC.Types.KindRepApp $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 $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.KindRepTyConApp
+ Roles1.$tcT7 ((:) $krep ((:) $krep ((:) $krep [])))
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp Roles1.$tcT6 ((:) $krep ((:) $krep []))
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp Roles1.$tcT4 ((:) $krep ((:) $krep []))
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp Roles1.$tcT3 ((:) $krep ((:) $krep []))
+$krep [InlPrag=[~]] = GHC.Types.KindRepTYPE GHC.Types.LiftedRep
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp Roles1.$tcT5 ((:) $krep [])
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp Roles1.$tcT2 ((:) $krep [])
$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0)
- (GHC.Types.KindRepTyConApp
- Roles1.$tcT1 ((:) (GHC.Types.KindRepVar 0) []))
+ = GHC.Types.KindRepTyConApp Roles1.$tcT1 ((:) $krep [])
Roles1.$trModule
= GHC.Types.Module
(GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "Roles1"#)
diff --git a/testsuite/tests/roles/should_compile/Roles13.stderr b/testsuite/tests/roles/should_compile/Roles13.stderr
index 1ea545504b..6a5e31d9c5 100644
--- a/testsuite/tests/roles/should_compile/Roles13.stderr
+++ b/testsuite/tests/roles/should_compile/Roles13.stderr
@@ -1,7 +1,7 @@
==================== Tidy Core ====================
Result size of Tidy Core
- = {terms: 114, types: 43, coercions: 5, joins: 0/0}
+ = {terms: 105, types: 40, coercions: 5, joins: 0/0}
-- RHS size: {terms: 2, types: 2, coercions: 0, joins: 0/0}
convert1 :: Wrap Age -> Wrap Age
@@ -41,10 +41,27 @@ Roles13.$trModule :: GHC.Types.Module
[GblId, Caf=NoCafRefs]
Roles13.$trModule = GHC.Types.Module $trModule2 $trModule4
--- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
+-- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0}
$krep :: GHC.Types.KindRep
+[GblId]
+$krep
+ = GHC.Types.KindRepTyConApp
+ GHC.Types.$tcInt (GHC.Types.[] @ GHC.Types.KindRep)
+
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
+$krep1 :: GHC.Types.KindRep
+[GblId, Caf=NoCafRefs]
+$krep1 = GHC.Types.KindRepTYPE GHC.Types.LiftedRep
+
+-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
+$krep2 :: GHC.Types.KindRep
[GblId, Caf=NoCafRefs]
-$krep = GHC.Types.KindRepTYPE GHC.Types.LiftedRep
+$krep2 = GHC.Types.KindRepFun $krep1 $krep1
+
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
+$krep3 :: GHC.Types.KindRep
+[GblId, Caf=NoCafRefs]
+$krep3 = GHC.Types.KindRepVar 0#
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
$tcAge1 :: GHC.Prim.Addr#
@@ -66,26 +83,19 @@ Roles13.$tcAge
Roles13.$trModule
$tcAge2
0#
- $krep
-
--- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0}
-$krep1 :: GHC.Types.KindRep
-[GblId]
-$krep1
- = GHC.Types.KindRepTyConApp
- GHC.Types.$tcInt (GHC.Types.[] @ GHC.Types.KindRep)
+ $krep1
-- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0}
-$krep2 :: GHC.Types.KindRep
+$krep4 :: GHC.Types.KindRep
[GblId, Caf=NoCafRefs]
-$krep2
+$krep4
= GHC.Types.KindRepTyConApp
Roles13.$tcAge (GHC.Types.[] @ GHC.Types.KindRep)
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
-$krep3 :: GHC.Types.KindRep
+$krep5 :: GHC.Types.KindRep
[GblId]
-$krep3 = GHC.Types.KindRepFun $krep1 $krep2
+$krep5 = GHC.Types.KindRepFun $krep $krep4
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
$tc'MkAge1 :: GHC.Prim.Addr#
@@ -107,22 +117,7 @@ Roles13.$tc'MkAge
Roles13.$trModule
$tc'MkAge2
0#
- $krep3
-
--- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
-$krep4 :: GHC.Types.KindRep
-[GblId, Caf=NoCafRefs]
-$krep4 = GHC.Types.KindRepTYPE GHC.Types.LiftedRep
-
--- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
-$krep5 :: GHC.Types.KindRep
-[GblId, Caf=NoCafRefs]
-$krep5 = GHC.Types.KindRepTYPE GHC.Types.LiftedRep
-
--- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
-$krep6 :: GHC.Types.KindRep
-[GblId, Caf=NoCafRefs]
-$krep6 = GHC.Types.KindRepFun $krep4 $krep5
+ $krep5
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
$tcWrap1 :: GHC.Prim.Addr#
@@ -144,34 +139,24 @@ Roles13.$tcWrap
Roles13.$trModule
$tcWrap2
0#
- $krep6
-
--- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
-$krep7 :: GHC.Types.KindRep
-[GblId, Caf=NoCafRefs]
-$krep7 = GHC.Types.KindRepVar 0#
-
--- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
-$krep8 :: GHC.Types.KindRep
-[GblId, Caf=NoCafRefs]
-$krep8 = GHC.Types.KindRepVar 0#
+ $krep2
-- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0}
-$krep9 :: [GHC.Types.KindRep]
+$krep6 :: [GHC.Types.KindRep]
[GblId, Caf=NoCafRefs]
-$krep9
+$krep6
= GHC.Types.:
- @ GHC.Types.KindRep $krep8 (GHC.Types.[] @ GHC.Types.KindRep)
+ @ GHC.Types.KindRep $krep3 (GHC.Types.[] @ GHC.Types.KindRep)
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
-$krep10 :: GHC.Types.KindRep
+$krep7 :: GHC.Types.KindRep
[GblId, Caf=NoCafRefs]
-$krep10 = GHC.Types.KindRepTyConApp Roles13.$tcWrap $krep9
+$krep7 = GHC.Types.KindRepTyConApp Roles13.$tcWrap $krep6
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
-$krep11 :: GHC.Types.KindRep
+$krep8 :: GHC.Types.KindRep
[GblId, Caf=NoCafRefs]
-$krep11 = GHC.Types.KindRepFun $krep7 $krep10
+$krep8 = GHC.Types.KindRepFun $krep3 $krep7
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
$tc'MkWrap1 :: GHC.Prim.Addr#
@@ -193,7 +178,7 @@ Roles13.$tc'MkWrap
Roles13.$trModule
$tc'MkWrap2
1#
- $krep11
+ $krep8
diff --git a/testsuite/tests/roles/should_compile/Roles14.stderr b/testsuite/tests/roles/should_compile/Roles14.stderr
index 15f61ce9fd..08ca28fecc 100644
--- a/testsuite/tests/roles/should_compile/Roles14.stderr
+++ b/testsuite/tests/roles/should_compile/Roles14.stderr
@@ -20,10 +20,6 @@ Roles12.$tcC2
(GHC.Types.TrNameS "C2"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTyConApp GHC.Types.$tcConstraint [])
Roles12.$tc'C:C2
= GHC.Types.TyCon
7087988437584478859##
@@ -32,12 +28,13 @@ Roles12.$tc'C:C2
(GHC.Types.TrNameS "'C:C2"#)
1
$krep
+$krep [InlPrag=[~]] = GHC.Types.KindRepVar 0
+$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.KindRepTYPE GHC.Types.LiftedRep
$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0) (GHC.Types.KindRepVar 0))
- (GHC.Types.KindRepTyConApp
- Roles12.$tcC2 ((:) (GHC.Types.KindRepVar 0) []))
+ = GHC.Types.KindRepTyConApp Roles12.$tcC2 ((:) $krep [])
Roles12.$trModule
= GHC.Types.Module
(GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "Roles12"#)
diff --git a/testsuite/tests/roles/should_compile/Roles2.stderr b/testsuite/tests/roles/should_compile/Roles2.stderr
index 39ca1ea0a8..b96d17330a 100644
--- a/testsuite/tests/roles/should_compile/Roles2.stderr
+++ b/testsuite/tests/roles/should_compile/Roles2.stderr
@@ -19,10 +19,6 @@ Roles2.$tcT2
(GHC.Types.TrNameS "T2"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
Roles2.$tc'K2
= GHC.Types.TyCon
17395957229042313563##
@@ -31,12 +27,6 @@ Roles2.$tc'K2
(GHC.Types.TrNameS "'K2"#)
1
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTyConApp
- GHC.Ptr.$tcFunPtr ((:) (GHC.Types.KindRepVar 0) []))
- (GHC.Types.KindRepTyConApp
- Roles2.$tcT2 ((:) (GHC.Types.KindRepVar 0) []))
Roles2.$tcT1
= GHC.Types.TyCon
10310640733256438505##
@@ -45,10 +35,6 @@ Roles2.$tcT1
(GHC.Types.TrNameS "T1"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
Roles2.$tc'K1
= GHC.Types.TyCon
16530009231990968394##
@@ -57,12 +43,19 @@ Roles2.$tc'K1
(GHC.Types.TrNameS "'K1"#)
1
$krep
+$krep [InlPrag=[~]] = GHC.Types.KindRepVar 0
+$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.KindRepTYPE GHC.Types.LiftedRep
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp GHC.Ptr.$tcFunPtr ((:) $krep [])
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp Roles2.$tcT2 ((:) $krep [])
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp GHC.Types.$tcIO ((:) $krep [])
$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTyConApp
- GHC.Types.$tcIO ((:) (GHC.Types.KindRepVar 0) []))
- (GHC.Types.KindRepTyConApp
- Roles2.$tcT1 ((:) (GHC.Types.KindRepVar 0) []))
+ = GHC.Types.KindRepTyConApp Roles2.$tcT1 ((:) $krep [])
Roles2.$trModule
= GHC.Types.Module
(GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "Roles2"#)
diff --git a/testsuite/tests/roles/should_compile/Roles3.stderr b/testsuite/tests/roles/should_compile/Roles3.stderr
index af9bc168c7..7f9f1a39d9 100644
--- a/testsuite/tests/roles/should_compile/Roles3.stderr
+++ b/testsuite/tests/roles/should_compile/Roles3.stderr
@@ -41,12 +41,6 @@ Roles3.$tcC4
(GHC.Types.TrNameS "C4"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTyConApp GHC.Types.$tcConstraint []))
Roles3.$tcC3
= GHC.Types.TyCon
5076086601454991970##
@@ -55,12 +49,6 @@ Roles3.$tcC3
(GHC.Types.TrNameS "C3"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTyConApp GHC.Types.$tcConstraint []))
Roles3.$tcC2
= GHC.Types.TyCon
7902873224172523979##
@@ -69,12 +57,6 @@ Roles3.$tcC2
(GHC.Types.TrNameS "C2"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTyConApp GHC.Types.$tcConstraint []))
Roles3.$tc'C:C2
= GHC.Types.TyCon
11218882737915989529##
@@ -83,19 +65,6 @@ Roles3.$tc'C:C2
(GHC.Types.TrNameS "'C:C2"#)
2
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepTyConApp
- Data.Type.Equality.$tc~
- ((:)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- ((:) (GHC.Types.KindRepVar 0) ((:) (GHC.Types.KindRepVar 1) []))))
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0) (GHC.Types.KindRepVar 1)))
- (GHC.Types.KindRepTyConApp
- Roles3.$tcC2
- ((:) (GHC.Types.KindRepVar 0) ((:) (GHC.Types.KindRepVar 1) [])))
Roles3.$tcC1
= GHC.Types.TyCon
11013585501375994163##
@@ -104,10 +73,6 @@ Roles3.$tcC1
(GHC.Types.TrNameS "C1"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTyConApp GHC.Types.$tcConstraint [])
Roles3.$tc'C:C1
= GHC.Types.TyCon
4508088879886988796##
@@ -116,12 +81,23 @@ Roles3.$tc'C:C1
(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 $krep $krep
+$krep [InlPrag=[~]] = GHC.Types.KindRepFun $krep $krep
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp
+ Data.Type.Equality.$tc~ ((:) $krep ((:) $krep ((:) $krep [])))
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp Roles3.$tcC2 ((:) $krep ((:) $krep []))
+$krep [InlPrag=[~]] = GHC.Types.KindRepTYPE GHC.Types.LiftedRep
$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0) (GHC.Types.KindRepVar 0))
- (GHC.Types.KindRepTyConApp
- Roles3.$tcC1 ((:) (GHC.Types.KindRepVar 0) []))
+ = GHC.Types.KindRepTyConApp Roles3.$tcC1 ((:) $krep [])
Roles3.$trModule
= GHC.Types.Module
(GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "Roles3"#)
diff --git a/testsuite/tests/roles/should_compile/Roles4.stderr b/testsuite/tests/roles/should_compile/Roles4.stderr
index 389379bad2..205a4d5714 100644
--- a/testsuite/tests/roles/should_compile/Roles4.stderr
+++ b/testsuite/tests/roles/should_compile/Roles4.stderr
@@ -26,10 +26,6 @@ Roles4.$tcC3
(GHC.Types.TrNameS "C3"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTyConApp GHC.Types.$tcConstraint [])
Roles4.$tc'C:C3
= GHC.Types.TyCon
3133378316178104365##
@@ -38,14 +34,6 @@ Roles4.$tc'C:C3
(GHC.Types.TrNameS "'C:C3"#)
1
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0)
- (GHC.Types.KindRepTyConApp
- GHC.Types.$tc[] ((:) (GHC.Types.KindRepVar 0) [])))
- (GHC.Types.KindRepTyConApp
- Roles4.$tcC3 ((:) (GHC.Types.KindRepVar 0) []))
Roles4.$tcC1
= GHC.Types.TyCon
13392243382482428602##
@@ -54,10 +42,6 @@ Roles4.$tcC1
(GHC.Types.TrNameS "C1"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTyConApp GHC.Types.$tcConstraint [])
Roles4.$tc'C:C1
= GHC.Types.TyCon
3870707671502302648##
@@ -66,12 +50,19 @@ Roles4.$tc'C:C1
(GHC.Types.TrNameS "'C:C1"#)
1
$krep
+$krep [InlPrag=[~]] = GHC.Types.KindRepVar 0
+$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.KindRepTYPE GHC.Types.LiftedRep
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp GHC.Types.$tc[] ((:) $krep [])
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp Roles4.$tcC3 ((:) $krep [])
$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepVar 0) (GHC.Types.KindRepVar 0))
- (GHC.Types.KindRepTyConApp
- Roles4.$tcC1 ((:) (GHC.Types.KindRepVar 0) []))
+ = GHC.Types.KindRepTyConApp Roles4.$tcC1 ((:) $krep [])
Roles4.$trModule
= GHC.Types.Module
(GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "Roles4"#)
diff --git a/testsuite/tests/roles/should_compile/T8958.stderr b/testsuite/tests/roles/should_compile/T8958.stderr
index 5939c69954..22cc6ca7b7 100644
--- a/testsuite/tests/roles/should_compile/T8958.stderr
+++ b/testsuite/tests/roles/should_compile/T8958.stderr
@@ -28,12 +28,6 @@ T8958.$tcMap
(GHC.Types.TrNameS "Map"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep))
T8958.$tc'MkMap
= GHC.Types.TyCon
2942839876828444488##
@@ -42,24 +36,6 @@ T8958.$tc'MkMap
(GHC.Types.TrNameS "'MkMap"#)
2
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTyConApp
- GHC.Types.$tc[]
- ((:) @ GHC.Types.KindRep
- (GHC.Types.KindRepTyConApp
- GHC.Tuple.$tc(,)
- ((:) @ GHC.Types.KindRep
- (GHC.Types.KindRepVar 0)
- ((:) @ GHC.Types.KindRep
- (GHC.Types.KindRepVar 1) [] @ GHC.Types.KindRep)))
- [] @ GHC.Types.KindRep))
- (GHC.Types.KindRepTyConApp
- T8958.$tcMap
- ((:) @ GHC.Types.KindRep
- (GHC.Types.KindRepVar 0)
- ((:) @ GHC.Types.KindRep
- (GHC.Types.KindRepVar 1) [] @ GHC.Types.KindRep)))
T8958.$tcRepresentational
= GHC.Types.TyCon
12809567151893673426##
@@ -68,11 +44,6 @@ T8958.$tcRepresentational
(GHC.Types.TrNameS "Representational"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTyConApp
- GHC.Types.$tcConstraint [] @ GHC.Types.KindRep)
T8958.$tc'C:Representational
= GHC.Types.TyCon
2358772282532242424##
@@ -81,11 +52,6 @@ T8958.$tc'C:Representational
(GHC.Types.TrNameS "'C:Representational"#)
1
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepTyConApp
- T8958.$tcRepresentational
- ((:) @ GHC.Types.KindRep
- (GHC.Types.KindRepVar 0) [] @ GHC.Types.KindRep)
T8958.$tcNominal
= GHC.Types.TyCon
12224997609886144634##
@@ -94,11 +60,6 @@ T8958.$tcNominal
(GHC.Types.TrNameS "Nominal"#)
0
$krep
-$krep [InlPrag=[~]]
- = GHC.Types.KindRepFun
- (GHC.Types.KindRepTYPE GHC.Types.LiftedRep)
- (GHC.Types.KindRepTyConApp
- GHC.Types.$tcConstraint [] @ GHC.Types.KindRep)
T8958.$tc'C:Nominal
= GHC.Types.TyCon
10562260635335201742##
@@ -107,11 +68,34 @@ T8958.$tc'C:Nominal
(GHC.Types.TrNameS "'C:Nominal"#)
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.KindRepTyConApp
- T8958.$tcNominal
+ GHC.Tuple.$tc(,)
+ ((:) @ GHC.Types.KindRep
+ $krep ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep))
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp
+ T8958.$tcMap
((:) @ GHC.Types.KindRep
- (GHC.Types.KindRepVar 0) [] @ GHC.Types.KindRep)
+ $krep ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep))
+$krep [InlPrag=[~]] = GHC.Types.KindRepTYPE GHC.Types.LiftedRep
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp
+ GHC.Types.$tc[]
+ ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
+$krep [InlPrag=[~]]
+ = GHC.Types.KindRepTyConApp
+ T8958.$tcRepresentational
+ ((:) @ GHC.Types.KindRep $krep [] @ GHC.Types.KindRep)
+$krep [InlPrag=[~]]
+ = 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"#)