#8985: Strange kind error with type family, GADTs, data kinds, and kind polymorphism ----------------------------------------------+---------------------------- Reporter: kosmikus | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects valid program | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: ----------------------------------------------+---------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"e7f0ae7ff4f2199abe42f20bac825a7802bff466/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="e7f0ae7ff4f2199abe42f20bac825a7802bff466" Honour the untouchability of kind variables Trac #8985 showed up a major shortcoming in the kind unifier: it was ignoring untoucability. This has unpredictably-bad consequences; notably, the skolem-escape check can fail. There were two things wrong * TcRnMonad.isTouchableTcM was returning a constant value for kind variables (wrong), and even worse the constant was back-to-front (it was always False). * We weren't even calling isTouchableTcM in TcType.unifyKindX. I'm not sure how this ever worked. Merge to 7.8.3 in due course. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8985#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler