Skip to content

kindFunResult panic in the

This code:

f  = b  (l  () )

l :: b a -> c b
l = undefined

b :: (a -> b) -> c
b = undefined

Produces the following panic:

/tmp/Test.hs:4:10:
    Couldn't match kind `* -> *' with `*'
    Expected type: a0 -> b0
      Actual type: a0 -> b0
    Kind incompatibility when matching types:
      b_k :: * -> *
      b0 :: *
    In the return type of a call of `l'
    In the first argument of `b', namely `(l ())'

/tmp/Test.hs:4:13:ghc: panic! (the 'impossible' happened)
  (GHC version 7.7.20120909 for x86_64-unknown-linux):
	kindFunResult ghc-prim:GHC.Prim.*{(w) tc 34d}

I don't think this is the same as #6039 (closed) since that test code produces a parse error when I try to compile it (and it is listed as fixed).

Edited by Simon Peyton Jones
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information