X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fiface%2FMkIface.lhs;h=3ff30d971a60c970f16b629303e21c5732b2dcb3;hb=872a4a0fd2a99ea96bee36f5398e87002659e014;hp=cafb6b6692d2e50b60d7a48a895688b717f27070;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/compiler/iface/MkIface.lhs b/compiler/iface/MkIface.lhs index cafb6b6..3ff30d9 100644 --- a/compiler/iface/MkIface.lhs +++ b/compiler/iface/MkIface.lhs @@ -279,8 +279,10 @@ mkIface hsc_env maybe_old_iface ; decls = [ tyThingToIfaceDecl ext_nm_rhs thing | thing <- typeEnvElts type_env, - not (isImplicitName (getName thing)) ] + let name = getName thing, + not (isImplicitName name || isWiredInName name) ] -- Don't put implicit Ids and class tycons in the interface file + -- Nor wired-in things; the compiler knows about them anyhow ; fixities = [(occ,fix) | FixItem occ fix _ <- nameEnvElts fix_env] ; deprecs = mkIfaceDeprec src_deprecs @@ -480,7 +482,9 @@ addVersionInfo (Just old_iface@(ModIface { mi_mod_vers = old_mod_vers, ------------------- -- Adding version info - new_version = bumpVersion old_mod_vers + new_version = bumpVersion old_mod_vers -- Start from the old module version, not from zero + -- so that if you remove f, and then add it again, + -- you don't thereby reduce f's version number add_vers decl | occ `elemOccSet` changed_occs = new_version | otherwise = expectJust "add_vers" (old_decl_vers occ) -- If it's unchanged, there jolly well