Warnings for redundant imports doesn't take name shadowing into account (Regression)
Reproduction:
module Log where
import Prelude hiding (log)
f :: ()
f = log where log = ()
Compiling this with -Wall On GHC 7.8.2:
> ghc Log.hs -Wall
[1 of 1] Compiling Log ( Log.hs, Log.o )
Log.hs:3:1: Warning:
The import of ‘Prelude’ is redundant
except perhaps to import instances from ‘Prelude’
To import instances alone, use: import Prelude()
The suggestion is incorrect since removing the import statement gives the following warning:
Log.hs:4:15: Warning:
This binding for ‘log’ shadows the existing binding
imported from ‘Prelude’ at Log.hs:1:8-10
(and originally defined in ‘GHC.Float’)
On GHC 7.6.3 the Reproduction does not give any warnings (which is correct).
Trac metadata
Trac field | Value |
---|---|
Version | 7.8.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |