diff --git a/src/librustc/middle/cstore.rs b/src/librustc/middle/cstore.rs index 0e7ff3a3393ef..75bdb0ccdf44a 100644 --- a/src/librustc/middle/cstore.rs +++ b/src/librustc/middle/cstore.rs @@ -53,9 +53,6 @@ impl CrateSource { HashStable )] pub enum DepKind { - /// A dependency that is only used for its macros, none of which are visible from other crates. - /// These are included in the metadata only as placeholders and are ignored when decoding. - UnexportedMacrosOnly, /// A dependency that is only used for its macros. MacrosOnly, /// A dependency that is always injected into the dependency list and so @@ -69,7 +66,7 @@ pub enum DepKind { impl DepKind { pub fn macros_only(self) -> bool { match self { - DepKind::UnexportedMacrosOnly | DepKind::MacrosOnly => true, + DepKind::MacrosOnly => true, DepKind::Implicit | DepKind::Explicit => false, } } diff --git a/src/librustc_metadata/creader.rs b/src/librustc_metadata/creader.rs index 4c4383aa603cb..877990d5cbbe6 100644 --- a/src/librustc_metadata/creader.rs +++ b/src/librustc_metadata/creader.rs @@ -463,7 +463,7 @@ impl<'a> CrateLoader<'a> { self.load(&mut locator) .map(|r| (r, None)) .or_else(|| { - dep_kind = DepKind::UnexportedMacrosOnly; + dep_kind = DepKind::MacrosOnly; self.load_proc_macro(&mut locator, path_kind) }) .ok_or_else(move || LoadError::LocatorError(locator))? @@ -473,7 +473,7 @@ impl<'a> CrateLoader<'a> { (LoadResult::Previous(cnum), None) => { let data = self.cstore.get_crate_data(cnum); if data.is_proc_macro_crate() { - dep_kind = DepKind::UnexportedMacrosOnly; + dep_kind = DepKind::MacrosOnly; } data.update_dep_kind(|data_dep_kind| cmp::max(data_dep_kind, dep_kind)); Ok(cnum) @@ -547,9 +547,6 @@ impl<'a> CrateLoader<'a> { "resolving dep crate {} hash: `{}` extra filename: `{}`", dep.name, dep.hash, dep.extra_filename ); - if dep.kind == DepKind::UnexportedMacrosOnly { - return krate; - } let dep_kind = match dep_kind { DepKind::MacrosOnly => DepKind::MacrosOnly, _ => dep.kind, @@ -853,7 +850,7 @@ impl<'a> CrateLoader<'a> { None => item.ident.name, }; let dep_kind = if attr::contains_name(&item.attrs, sym::no_link) { - DepKind::UnexportedMacrosOnly + DepKind::MacrosOnly } else { DepKind::Explicit }; diff --git a/src/librustc_metadata/rmeta/decoder/cstore_impl.rs b/src/librustc_metadata/rmeta/decoder/cstore_impl.rs index fb7e5541e266e..dec5eea4ee957 100644 --- a/src/librustc_metadata/rmeta/decoder/cstore_impl.rs +++ b/src/librustc_metadata/rmeta/decoder/cstore_impl.rs @@ -7,7 +7,7 @@ use crate::rmeta::{self, encoder}; use rustc::hir::exports::Export; use rustc::hir::map::definitions::DefPathTable; use rustc::hir::map::{DefKey, DefPath, DefPathHash}; -use rustc::middle::cstore::{CrateSource, CrateStore, DepKind, EncodedMetadata, NativeLibraryKind}; +use rustc::middle::cstore::{CrateSource, CrateStore, EncodedMetadata, NativeLibraryKind}; use rustc::middle::exported_symbols::ExportedSymbol; use rustc::middle::stability::DeprecationEntry; use rustc::session::{CrateDisambiguator, Session}; @@ -392,14 +392,6 @@ pub fn provide(providers: &mut Providers<'_>) { } impl CStore { - pub fn export_macros_untracked(&self, cnum: CrateNum) { - let data = self.get_crate_data(cnum); - let mut dep_kind = data.dep_kind.lock(); - if *dep_kind == DepKind::UnexportedMacrosOnly { - *dep_kind = DepKind::MacrosOnly; - } - } - pub fn struct_field_names_untracked(&self, def: DefId, sess: &Session) -> Vec> { self.get_crate_data(def.krate).get_struct_field_names(def.index, sess) } diff --git a/src/librustc_resolve/imports.rs b/src/librustc_resolve/imports.rs index 55ce51e0ff057..7474c80e0cd1f 100644 --- a/src/librustc_resolve/imports.rs +++ b/src/librustc_resolve/imports.rs @@ -1403,11 +1403,6 @@ impl<'a, 'b> ImportResolver<'a, 'b> { if is_good_import || binding.is_macro_def() { let res = binding.res(); if res != Res::Err { - if let Some(def_id) = res.opt_def_id() { - if !def_id.is_local() { - this.cstore().export_macros_untracked(def_id.krate); - } - } reexports.push(Export { ident, res, span: binding.span, vis: binding.vis }); } }