Extra ' in error output concerning promoted kinds
When I try to compile the following code, a slightly erroneous error message is produced:
{-# LANGUAGE DataKinds #-}
foo :: 'False
foo = undefined
The error message is
Kind mis-match
Expected kind `ArgKind', but `False' has kind 'Bool
In the type signature for `foo': foo :: False
The problem is that the kind of 'False is reported as 'Bool. However, if you use a kind written 'Bool in a program, that program fails to compile. As I understand it, the only way to write the kind of 'False is Bool, without the initial tick.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.5 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler (Type checker) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |