summaryrefslogtreecommitdiff
path: root/compiler/GHC/Iface/UpdateIdInfos.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Iface/UpdateIdInfos.hs')
-rw-r--r--compiler/GHC/Iface/UpdateIdInfos.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/GHC/Iface/UpdateIdInfos.hs b/compiler/GHC/Iface/UpdateIdInfos.hs
index 9b8b058745..e37964c51d 100644
--- a/compiler/GHC/Iface/UpdateIdInfos.hs
+++ b/compiler/GHC/Iface/UpdateIdInfos.hs
@@ -45,8 +45,10 @@ updateModDetailsIdInfos cg_infos mod_details =
} = mod_details
-- type TypeEnv = NameEnv TyThing
- ~type_env' = mapNameEnv (updateTyThingIdInfos type_env' cg_infos) type_env
- -- Not strict!
+ type_env' = mapNameEnv (updateTyThingIdInfos type_env' cg_infos) type_env
+ -- NB: Knot-tied! The result, type_env', is passed right back into into
+ -- updateTyThingIdInfos, so that that occurrences of any Ids (e.g. in
+ -- IdInfos, etc) can be looked up in the tidied env
!insts' = strictMap (updateInstIdInfos type_env' cg_infos) insts
!rules' = strictMap (updateRuleIdInfos type_env') rules