X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Frename%2FRnNames.lhs;h=29468fd0bae75528815d85bf471b02f08fe63d26;hb=311b1cdfc9b1c311cc53482c461c18cba8885b2a;hp=ec65f720bd76e128cd1b9070e3a3e576ccef1d1f;hpb=8a5d47de2b82d9cca86546a7bd89d915488934ef;p=ghc-hetmet.git diff --git a/compiler/rename/RnNames.lhs b/compiler/rename/RnNames.lhs index ec65f72..29468fd 100644 --- a/compiler/rename/RnNames.lhs +++ b/compiler/rename/RnNames.lhs @@ -163,10 +163,11 @@ rnImportDecl this_mod (L loc (ImportDecl loc_imp_mod_name want_boot (warnRedundantSourceImport imp_mod_name) let - imp_mod = mi_module iface - deprecs = mi_deprecs iface - is_orph = mi_orphan iface - deps = mi_deps iface + imp_mod = mi_module iface + deprecs = mi_deprecs iface + is_orph = mi_orphan iface + has_finsts = mi_finsts iface + deps = mi_deps iface filtered_exports = filter not_this_mod (mi_exports iface) not_this_mod (mod,_) = mod /= this_mod @@ -211,6 +212,10 @@ rnImportDecl this_mod (L loc (ImportDecl loc_imp_mod_name want_boot imp_mod : dep_orphs deps | otherwise = dep_orphs deps + finsts | has_finsts = ASSERT( not (imp_mod `elem` dep_finsts deps) ) + imp_mod : dep_finsts deps + | otherwise = dep_finsts deps + pkg = modulePackageId (mi_module iface) (dependent_mods, dependent_pkgs) @@ -244,6 +249,7 @@ rnImportDecl this_mod (L loc (ImportDecl loc_imp_mod_name want_boot imp_env = unitUFM qual_mod_name filtered_avails, imp_mods = unitModuleEnv imp_mod (imp_mod, import_all, loc), imp_orphs = orphans, + imp_finsts = finsts, imp_dep_mods = mkModDeps dependent_mods, imp_dep_pkgs = dependent_pkgs, imp_parent = emptyNameEnv