diff options
author | David Eichmann <EichmannD@gmail.com> | 2018-11-22 14:48:05 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-11-22 16:10:06 -0500 |
commit | 6353efc7694ba8ec86c091918e02595662169ae2 (patch) | |
tree | 13a255193a5a9685a97e99c020578144df21af39 /compiler/ghci | |
parent | 8d008b71db53f7a59673f894f329b8d71f84c8ee (diff) | |
download | haskell-6353efc7694ba8ec86c091918e02595662169ae2.tar.gz |
Fix unused-import warnings
This patch fixes a fairly long-standing bug (dating back to 2015) in
RdrName.bestImport, namely
commit 9376249b6b78610db055a10d05f6592d6bbbea2f
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date: Wed Oct 28 17:16:55 2015 +0000
Fix unused-import stuff in a better way
In that patch got the sense of the comparison back to front, and
thereby failed to implement the unused-import rules described in
Note [Choosing the best import declaration] in RdrName
This led to Trac #13064 and #15393
Fixing this bug revealed a bunch of unused imports in libraries;
the ones in the GHC repo are part of this commit.
The two important changes are
* Fix the bug in bestImport
* Modified the rules by adding (a) in
Note [Choosing the best import declaration] in RdrName
Reason: the previosu rules made Trac #5211 go bad again. And
the new rule (a) makes sense to me.
In unravalling this I also ended up doing a few other things
* Refactor RnNames.ImportDeclUsage to use a [GlobalRdrElt] for the
things that are used, rather than [AvailInfo]. This is simpler
and more direct.
* Rename greParentName to greParent_maybe, to follow GHC
naming conventions
* Delete dead code RdrName.greUsedRdrName
Bumps a few submodules.
Reviewers: hvr, goldfire, bgamari, simonmar, jrtc27
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5312
Diffstat (limited to 'compiler/ghci')
-rw-r--r-- | compiler/ghci/ByteCodeLink.hs | 1 | ||||
-rw-r--r-- | compiler/ghci/RtClosureInspect.hs | 5 |
2 files changed, 2 insertions, 4 deletions
diff --git a/compiler/ghci/ByteCodeLink.hs b/compiler/ghci/ByteCodeLink.hs index e7eb7108f9..9a5fb39e6d 100644 --- a/compiler/ghci/ByteCodeLink.hs +++ b/compiler/ghci/ByteCodeLink.hs @@ -41,7 +41,6 @@ import Util -- Standard libraries import Data.Array.Unboxed import Foreign.Ptr -import GHC.IO ( IO(..) ) import GHC.Exts {- diff --git a/compiler/ghci/RtClosureInspect.hs b/compiler/ghci/RtClosureInspect.hs index 167ea1b6ac..f4d09cc6de 100644 --- a/compiler/ghci/RtClosureInspect.hs +++ b/compiler/ghci/RtClosureInspect.hs @@ -57,16 +57,15 @@ import TysWiredIn import DynFlags import Outputable as Ppr import GHC.Char -import GHC.Exts import GHC.Exts.Heap -import GHC.IO ( IO(..) ) import SMRep ( roundUpTo ) import Control.Monad -import Data.Array.Base import Data.Maybe import Data.List #if defined(INTEGER_GMP) +import GHC.Exts +import Data.Array.Base import GHC.Integer.GMP.Internals #endif import qualified Data.Sequence as Seq |