
#15795: Core lint error with unused kind variable in data type return kind -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.6.1 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): It's worth noting that this Core Lint error only appears to occur when GHC constructs a wrapper for `Prod`. In other words, the following errors: {{{#!hs data F :: forall (cat1 :: ob1). ob1 -> Type where Prod :: forall u (a :: u). F a }}} But this does //not// error: {{{#!hs data F :: forall (cat1 :: ob1). ob1 -> Type where Prod :: F a }}} Since in the latter code, `Prod` won't need a wrapper, and its type will simply be `forall {ob1} {cat1 :: ob1} (a :: ob1). F a`. (Currently, there's no way to write that with GHC's explicit `forall` syntax, so pretty much any attempt to write the type of `Prod` using a `forall` will trigger this error.) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15795#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler