Missing parentheses and backticks
In several cases, GHC does not output parentheses or backticks in error messages. For example, compiling this contrived file
data A = (:&&) Int Int | A Int Int
x (+) ((&)@z) ((:&&) a b) (c :&& d) (e `A` f) (A g h) = y
where infixl 3 `y`
y _ = (&)
{-# INLINE (&) #-}
{-# SPECIALIZE (&) :: a #-}
(&) = x
gives an error message containing:
x + (&@z) (:&& a b) (c :&& d) (e A f) (A g h)
= y
where
infixl 3 y
y _ = (&)
{-# INLINE & #-}
{-# SPECIALIZE & :: a #-}
Attached patch fixes this issue in several places.
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 |