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 /libraries/ghc-prim | |
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 'libraries/ghc-prim')
-rw-r--r-- | libraries/ghc-prim/GHC/Magic.hs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libraries/ghc-prim/GHC/Magic.hs b/libraries/ghc-prim/GHC/Magic.hs index 8bc88527b1..2cc3212d95 100644 --- a/libraries/ghc-prim/GHC/Magic.hs +++ b/libraries/ghc-prim/GHC/Magic.hs @@ -30,7 +30,15 @@ module GHC.Magic ( inline, noinline, lazy, oneShot, runRW# ) where -- See Note [magicIds] in MkId.hs -------------------------------------------------- -import GHC.Prim +-- Here import TYPE explicitely from GHC.Types and not from GHC.Prim. This is +-- because TYPE is not exported by the source Haskell module generated by +-- genprimops which Haddock will typecheck. +-- Likewise, realWorld# is not generated by genprimops so we use CPP and only +-- import/use it when not building haddock docs. +#if !defined(__HADDOCK_VERSION__) +import GHC.Prim (realWorld#) +#endif +import GHC.Prim (State#, RealWorld) import GHC.CString () import GHC.Types (RuntimeRep, TYPE) |