
#14139: Kind signature not accepted (singletons) -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: (none) Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 8.2.1 Resolution: duplicate | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #13365 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * status: new => closed * resolution: => duplicate * related: => #13365 Comment: Yep, this is a CUSK issue. [http://git.haskell.org/ghc.git/blob/1cdceb9fa3bc3ad01b2d840caad8e735513e14ed... Here] is the relevant section of the users' guide: {{{ - For a datatype with a top-level ``::`` when :ghc-flag:`-XTypeInType` is in effect: all kind variables introduced after the ``::`` must be explicitly quantified. :: -- -XTypeInType is on data T1 :: k -> * -- No CUSK: `k` is not explicitly quantified data T2 :: forall k. k -> * -- CUSK: `k` is bound explicitly data T3 :: forall (k :: *). k -> * -- still a CUSK Note that the first example would indeed have a CUSK without :ghc-flag:`-XTypeInType`. }}} In your example, `v` is not explicitly quantified in the kind signature of `Some`, which explains why its kind defaults to `*` (and results in the error message you see). Since this asks to improve the error message to warn about CUSK behavior, I'll close this as a duplicate of #13365, which seeks the same goal. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14139#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler