
#14729: normaliseType is not well-kinded -------------------------------------+------------------------------------- Reporter: goldfire | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Suppose we have {{{ Proxy :: forall k. k -> Type type family F a type instance F Int = Bool }}} and we're trying to normalise the target {{{ Proxy (F Int) x }}} Clearly, for this target to be well kinded, we need `x :: F Int`. Currently, the output of `normaliseType` is `Proxy Bool x`, which is just plain wrong. I need to implement logic like in `flatten_args` on [https://github.com/goldfirere/ghc my branch] in `normaliseType` to fix this. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14729 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler