Type checker barfs on nonsensical expression
I got the infamous "impossible bug" by trying something nonsensical in my program. I reproduced the bug in the attached minimal program (18 lines). The precise error message is:
Impossible.hs:18:5:
Couldn't match kind `* -> *' with `*'
Expected type: [Char] -> ZT IO ()
Actual type: [Char] -> ZT IO ()
Kind incompatibility when matching types:
[Char] :: * -> *
[Char] :: *
The function `lift'ghc: panic! (the 'impossible' happened)
(GHC version 7.6.2 for i386-unknown-linux):
kindFunResult ghc-prim:GHC.Prim.*{(w) tc 34d}
Note that this error occurs whether on not the MonadTrans instance is there.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.6.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |