
#15816: Visible kind applications + data family: `U :: Type' said to be of kind `k0 -> k1` in error message -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.6.1 Keywords: | Operating System: Unknown/Multiple TypeApplications | Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Using the [https://phabricator.haskell.org/D5229 visible kind applications (D5229)] (#12045) patch. GHC erroneously calls `U :: Type` a "function" of kind `k0 -> k1` if I understand this right, {{{ $ ghci GHCi, version 8.7.20181017: http://www.haskell.org/ghc/ :? for help Prelude> :set prompt "> "
import Data.Kind (Type)
:set -XTypeFamilies :set -XTypeApplications
data family U :: Type data instance U @Int
<interactive>:7:1: error: • Cannot apply function of kind ‘k0 -> k1’ to visible kind argument ‘Int’ • In the data instance declaration for ‘U’
}}} I expect something like "Cannot apply type `U` to visible kind argument `Int`" or {{{
data instance U Int = MkU
<interactive>:7:1: error: • Expected kind ‘* -> *’, but ‘U’ has kind ‘*’ • In the data instance declaration for ‘U’
}}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15816 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler