Incorrect parsing of a pattern synonym type
The following definition is accepted by GHC.
pattern Q :: a -> forall. (Bool -> a)
pattern Q v <- (($ True) -> v)
What does this type signature mean? Who knows. It should be rejected for being an invalid form.
Maybe see #12108 (closed)
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |