testsuite: Assert that testsuite ways are known
[ghc.git] / testsuite / tests / typecheck / should_compile / tc269.hs
1 {-# LANGUAGE RankNTypes #-}
2 {-# LANGUAGE PolyKinds #-}
3 module Tc269 where
4
5 import GHC.Types
6
7 {-
8 -- We'd like this to kind check, but it doesn't today,
9 -- see Note [Missed opportunity to retain higher-rank kinds]
10
11 -- TSyn is in an SCC of its own, so we can read off the
12 -- kind directly.
13 data T (p :: forall k. k -> Type) = T
14 type TSyn = T
15 -}
16
17 -- S and SSyn are in an SCC, so we do kind inference for
18 -- everything. Need an explicit type signature.
19 data K (a :: k) = K
20 data S (p :: forall k. k -> Type) = S (SSyn K)
21 type SSyn = (S :: (forall k. k -> Type) -> Type)