ApiAnnotations : RdrHsSyn.isFunLhs discards parentheses
The RdrHsSyn.isFunLhs function has the following
isFunLhs e = go e []
where
go (L loc (HsVar f)) es
| not (isRdrDataCon f) = return (Just (L loc f, False, es))
go (L _ (HsApp f e)) es = go f (e:es)
go (L _ (HsPar e)) es@(_:_) = go e es
The treatment of HsPar
means that any parentheses around an infix function will be discarded.
e.g.
(f =*= g) sa i = f (toF sa i) =^= g (toG sa i)
will lose the (
before f
and the closing one after g
Trac metadata
Trac field | Value |
---|---|
Version | 7.10.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | mpickering |
Operating system | |
Architecture |