Incorrect diagnostic for UNPACK/missing strictness
data A = A { a :: {-# UNPACK #-} Maybe Int}
[1 of 1] Compiling Main ( Temp.hs, Temp.o )
Temp.hs:1:19: error:
• Unexpected strictness annotation: {-# UNPACK #-}Maybe
• In the type ‘{-# UNPACK #-}Maybe Int’
In the definition of data constructor ‘A’
In the data declaration for ‘A’
|
1 | data A = A { a :: {-# UNPACK #-} Maybe Int}
|
The diagnostic is incorrect because it complains about an "unexpected strictness annotation" although the error is the opposite.
A quick glance at the relevant GHC code suggests that it's running into the wrong diagnostic from #7210 (closed). Verified on nightly-2018-01-29.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.2.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |