summaryrefslogtreecommitdiff
path: root/libraries/base/Data/Functor/Classes.hs
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2018-08-20 09:48:41 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2018-08-20 14:21:38 +0100
commit2dcebe69f07f9b4328bc3dc2131ccf2953ffa21b (patch)
tree2106ada6f22bd198dc1891f1283740d26bf4047d /libraries/base/Data/Functor/Classes.hs
parenta08b285f74cd49196feb0f819d70ad0508689da3 (diff)
downloadhaskell-wip/T13064.tar.gz
Fix unused-import warningswip/T13064
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 * Slightly change the spec of the unused function HsImpExpr.ieLWrappedName, and use it in RnNames.findImportUsage
Diffstat (limited to 'libraries/base/Data/Functor/Classes.hs')
-rw-r--r--libraries/base/Data/Functor/Classes.hs1
1 files changed, 0 insertions, 1 deletions
diff --git a/libraries/base/Data/Functor/Classes.hs b/libraries/base/Data/Functor/Classes.hs
index e44c817b64..7c9b917608 100644
--- a/libraries/base/Data/Functor/Classes.hs
+++ b/libraries/base/Data/Functor/Classes.hs
@@ -69,7 +69,6 @@ import Control.Applicative (Alternative((<|>)), Const(Const))
import Data.Functor.Identity (Identity(Identity))
import Data.Proxy (Proxy(Proxy))
import Data.List.NonEmpty (NonEmpty(..))
-import Data.Monoid (mappend)
import Data.Ord (Down(Down))
import GHC.Read (expectP, list, paren)