id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
5860	Ambiguity between redundant imports	elliottt		"GHC reports this program:


{{{
module Test where

import Data.ByteString (ByteString)
import qualified Data.ByteString as S

test :: ByteString -> ByteString
test x = x
}}}

as having a redundant import of Data.!ByteString:

{{{
$ ghc -c -Wall Test.hs
Test.hs:4:1:
    Warning: The import of `Data.ByteString' is redundant
               except perhaps to import instances from `Data.ByteString'
             To import instances alone, use: import Data.ByteString()
}}}

However, removing the restricted import of Data.!ByteString will cause the program to fail to compile, as the type is no longer available.  The real problem is with the qualified import of Data.!ByteString as S that is never referenced in the program.

Would it be possible to change the message to distinguish between the qualified import an the restricted import, by more than the line number?"	feature request	closed	normal		Compiler	7.4.1	fixed	module system		Unknown/Multiple	Unknown/Multiple	None/Unknown	Unknown				
