Couldn't match kind `BOX' against `*' when using SOURCE import
When this module has a (useless) SOURCE import, using its typeclass gives an error.
module Bar where
import {-# SOURCE #-} Foo
class Bar a (p :: Bool) | a -> p
data Proxy a = Proxy
With the interpreter, the error appears when using the class:
Prelude> :l Bar
*Bar> :set -XFlexibleContexts -XDataKinds
*Bar> Proxy :: Bar '() a => Proxy a
Couldn't match kind `BOX' against `*'
Kind incompatibility when matching types:
k0 :: BOX
Bool :: *
When compiling, the error appears the *second* run.
$ ghc Main.hs
No instance for (Bar () '() a0)
$ ghc Main.hs
Couldn't match kind `BOX' against `*'
Tested with 7.4.1 and HEAD
Trac metadata
Trac field | Value |
---|---|
Version | 7.4.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |