
#14710: GHC 8.4.1-alpha allows the use of kind polymorphism without PolyKinds -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.4.1 Component: Compiler (Type | Version: 8.4.1-alpha1 checker) | Resolution: | Keywords: PolyKinds Operating System: Unknown/Multiple | Architecture: Type of failure: GHC accepts | Unknown/Multiple invalid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): One way to summarize this issue in that at the moment, GHC believes it can spot any code that requires `PolyKinds` at the granularity of individual type variable telescopes (for instance, `forall (a :: k). <...>` would require `PolyKinds` since the telescope `forall (a :: k)` implicitly quantifies `k`). But really this isn't true—a type variable might seem perfectly normal //within// a telescope, but elsewhere in its body it might be used as a kind variable (as in the examples above)! So it feels like we should be validity checking //uses// of type variables as well, not just their binding sites. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14710#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler