summaryrefslogtreecommitdiff
path: root/compiler/GHC/Tc/Utils/Backpack.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Tc/Utils/Backpack.hs')
-rw-r--r--compiler/GHC/Tc/Utils/Backpack.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/GHC/Tc/Utils/Backpack.hs b/compiler/GHC/Tc/Utils/Backpack.hs
index 7fff1a9e35..c1888c7f36 100644
--- a/compiler/GHC/Tc/Utils/Backpack.hs
+++ b/compiler/GHC/Tc/Utils/Backpack.hs
@@ -174,7 +174,8 @@ checkHsigIface tcg_env gr sig_iface
-- The hsig did NOT define this function; that means it must
-- be a reexport. In this case, make sure the 'Name' of the
-- reexport matches the 'Name exported here.
- | [GRE { gre_name = name' }] <- lookupGlobalRdrEnv gr (nameOccName name) =
+ | [gre] <- lookupGlobalRdrEnv gr (nameOccName name) = do
+ let name' = greMangledName gre
when (name /= name') $ do
-- See Note [Error reporting bad reexport]
-- TODO: Actually this error swizzle doesn't work
@@ -751,7 +752,7 @@ mergeSignatures
let ifaces = lcl_iface : ext_ifaces
-- STEP 4.1: Merge fixities (we'll verify shortly) tcg_fix_env
- let fix_env = mkNameEnv [ (gre_name rdr_elt, FixItem occ f)
+ let fix_env = mkNameEnv [ (greMangledName rdr_elt, FixItem occ f)
| (occ, f) <- concatMap mi_fixities ifaces
, rdr_elt <- lookupGlobalRdrEnv rdr_env occ ]
@@ -951,7 +952,7 @@ checkImplements impl_mod req_mod@(Module uid mod_name) = do
let avails = calculateAvails home_unit
impl_iface False{- safe -} NotBoot ImportedBySystem
- fix_env = mkNameEnv [ (gre_name rdr_elt, FixItem occ f)
+ fix_env = mkNameEnv [ (greMangledName rdr_elt, FixItem occ f)
| (occ, f) <- mi_fixities impl_iface
, rdr_elt <- lookupGlobalRdrEnv impl_gr occ ]
updGblEnv (\tcg_env -> tcg_env {