summaryrefslogtreecommitdiff
path: root/testsuite/tests/roles/should_compile
diff options
context:
space:
mode:
authorRichard Eisenberg <eir@cis.upenn.edu>2016-02-04 10:42:56 -0500
committerRichard Eisenberg <eir@cis.upenn.edu>2016-02-24 13:31:30 -0500
commitd8c64e86361f6766ebe26a262bb229fb8301a42a (patch)
tree94d68ebcb1cc6e9eabff08d3cd1d7e61dd99c01e /testsuite/tests/roles/should_compile
parentce36115b369510c51f402073174d82d0d1244589 (diff)
downloadhaskell-d8c64e86361f6766ebe26a262bb229fb8301a42a.tar.gz
Address #11471 by putting RuntimeRep in kinds.wip/runtime-rep
See Note [TYPE] in TysPrim. There are still some outstanding pieces in #11471 though, so this doesn't actually nail the bug. This commit also contains a few performance improvements: * Short-cut equality checking of nullary type syns * Compare types before kinds in eqType * INLINE coreViewOneStarKind * Store tycon binders separately from kinds. This resulted in a ~10% performance improvement in compiling the Cabal package. No change in functionality other than performance. (This affects the interface file format, though.) This commit updates the haddock submodule.
Diffstat (limited to 'testsuite/tests/roles/should_compile')
-rw-r--r--testsuite/tests/roles/should_compile/Roles1.stderr7
-rw-r--r--testsuite/tests/roles/should_compile/Roles2.stderr2
-rw-r--r--testsuite/tests/roles/should_compile/Roles3.stderr6
-rw-r--r--testsuite/tests/roles/should_compile/T8958.stderr1
4 files changed, 2 insertions, 14 deletions
diff --git a/testsuite/tests/roles/should_compile/Roles1.stderr b/testsuite/tests/roles/should_compile/Roles1.stderr
index 6ea24f009b..fe0658b56c 100644
--- a/testsuite/tests/roles/should_compile/Roles1.stderr
+++ b/testsuite/tests/roles/should_compile/Roles1.stderr
@@ -9,23 +9,16 @@ TYPE SIGNATURES
TYPE CONSTRUCTORS
type role T1 nominal
data T1 a = K1 a
- Kind: * -> *
data T2 a = K2 a
- Kind: * -> *
type role T3 phantom
data T3 (a :: k) = K3
- Kind: forall k1. k1 -> *
type role T4 nominal nominal
data T4 (a :: * -> *) b = K4 (a b)
- Kind: (* -> *) -> * -> *
data T5 a = K5 a
- Kind: * -> *
type role T6 phantom
data T6 (a :: k) = K6
- Kind: forall {k1}. k1 -> *
type role T7 phantom representational
data T7 (a :: k) b = K7 b
- Kind: forall {k1}. k1 -> * -> *
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
diff --git a/testsuite/tests/roles/should_compile/Roles2.stderr b/testsuite/tests/roles/should_compile/Roles2.stderr
index 7c075b9bce..65ba748863 100644
--- a/testsuite/tests/roles/should_compile/Roles2.stderr
+++ b/testsuite/tests/roles/should_compile/Roles2.stderr
@@ -3,10 +3,8 @@ TYPE SIGNATURES
Roles2.K2 :: forall a. FunPtr a -> T2 a
TYPE CONSTRUCTORS
data T1 a = K1 (IO a)
- Kind: * -> *
type role T2 phantom
data T2 a = K2 (FunPtr a)
- Kind: * -> *
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
diff --git a/testsuite/tests/roles/should_compile/Roles3.stderr b/testsuite/tests/roles/should_compile/Roles3.stderr
index 544e497c2d..ca496ed042 100644
--- a/testsuite/tests/roles/should_compile/Roles3.stderr
+++ b/testsuite/tests/roles/should_compile/Roles3.stderr
@@ -11,15 +11,13 @@ TYPE CONSTRUCTORS
meth2 :: a ~ b => a -> b
{-# MINIMAL meth2 #-}
class C3 a b where
- type family F3 b open
- Kind: * -> *
+ type family F3 b :: * open
meth3 :: a -> F3 b -> F3 b
{-# MINIMAL meth3 #-}
class C4 a b where
meth4 :: a -> F4 b -> F4 b
{-# MINIMAL meth4 #-}
- type family F4 a open
- Kind: * -> *
+ type family F4 a :: * open
type Syn1 a = F4 a
type Syn2 a = [a]
COERCION AXIOMS
diff --git a/testsuite/tests/roles/should_compile/T8958.stderr b/testsuite/tests/roles/should_compile/T8958.stderr
index 91b58a1ba6..9b4e2d911c 100644
--- a/testsuite/tests/roles/should_compile/T8958.stderr
+++ b/testsuite/tests/roles/should_compile/T8958.stderr
@@ -6,7 +6,6 @@ TYPE SIGNATURES
TYPE CONSTRUCTORS
type role Map nominal representational
newtype (Nominal k, Representational v) => Map k v = MkMap [(k, v)]
- Kind: * -> * -> *
class Nominal a
type role Representational representational
class Representational a