summaryrefslogtreecommitdiff
path: root/libraries/ghc-prim
diff options
context:
space:
mode:
authorDavid Eichmann <EichmannD@gmail.com>2018-11-22 14:48:05 -0500
committerBen Gamari <ben@smart-cactus.org>2018-11-22 16:10:06 -0500
commit6353efc7694ba8ec86c091918e02595662169ae2 (patch)
tree13a255193a5a9685a97e99c020578144df21af39 /libraries/ghc-prim
parent8d008b71db53f7a59673f894f329b8d71f84c8ee (diff)
downloadhaskell-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.hs10
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)