Skip to content

Incorrect unused-import warning in ghci

Try to load the following in ghci with -fwarn-unused-imports:

import Prelude hiding (zip)

zip :: [a] -> [b] -> [(a,b)]
zip _ _ = []

It spits out the usual warning for unused imports:

    Warning: The import of `Prelude' is redundant
               except perhaps to import instances from `Prelude'
             To import instances alone, use: import Prelude()

When compiled with ghc --make -fwarn-unused-imports no warning is printed. Also, the following does not generate a warning in ghci:

import Prelude hiding (zip)

zip :: [a] -> [b] -> [(a,b)]
zip _ _ = undefined

I expect ghci and ghc to agree on the warnings unless there's a good reason not to, and I do not expect warnings about declarations to depend on their implementation.

Trac metadata
Trac field Value
Version 6.12.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component GHCi
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information