From 3fa36471e81011b7b1c44ec66c5aa70a67dfe475 Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Sun, 20 Jan 2019 22:04:22 -0500 Subject: [PATCH] Rename external_private_dependency to exported_private_dependencies --- src/librustc/lint/builtin.rs | 4 ++-- src/librustc_lint/lib.rs | 2 +- src/librustc_privacy/lib.rs | 10 ++++++---- .../feature-gate-public_private_dependencies.rs | 2 +- src/test/ui/privacy/pub-priv-dep/pub-priv1.rs | 2 +- src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr | 4 ++-- src/test/ui/privacy/pub-priv-dep/std-pub.rs | 2 +- 7 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/librustc/lint/builtin.rs b/src/librustc/lint/builtin.rs index 473214a04c8..3fe544d6906 100644 --- a/src/librustc/lint/builtin.rs +++ b/src/librustc/lint/builtin.rs @@ -126,7 +126,7 @@ declare_lint! { } declare_lint! { - pub EXTERNAL_PRIVATE_DEPENDENCY, + pub EXPORTED_PRIVATE_DEPENDENCIES, Warn, "public interface leaks type from a private dependency" } @@ -411,7 +411,7 @@ impl LintPass for HardwiredLints { TRIVIAL_CASTS, TRIVIAL_NUMERIC_CASTS, PRIVATE_IN_PUBLIC, - EXTERNAL_PRIVATE_DEPENDENCY, + EXPORTED_PRIVATE_DEPENDENCIES, PUB_USE_OF_PRIVATE_EXTERN_CRATE, INVALID_TYPE_PARAM_DEFAULT, CONST_ERR, diff --git a/src/librustc_lint/lib.rs b/src/librustc_lint/lib.rs index 66e6368e83d..128bc70087f 100644 --- a/src/librustc_lint/lib.rs +++ b/src/librustc_lint/lib.rs @@ -230,7 +230,7 @@ pub fn register_builtins(store: &mut lint::LintStore, sess: Option<&Session>) { edition: None, }, FutureIncompatibleInfo { - id: LintId::of(EXTERNAL_PRIVATE_DEPENDENCY), + id: LintId::of(EXPORTED_PRIVATE_DEPENDENCIES), reference: "issue #44663 ", edition: None, }, diff --git a/src/librustc_privacy/lib.rs b/src/librustc_privacy/lib.rs index 6a91ec81e4e..01694df1df1 100644 --- a/src/librustc_privacy/lib.rs +++ b/src/librustc_privacy/lib.rs @@ -1496,7 +1496,7 @@ impl<'a, 'tcx: 'a> SearchInterfaceForPrivateItemsVisitor<'a, 'tcx> { fn check_def_id(&mut self, def_id: DefId, kind: &str, descr: &dyn fmt::Display) -> bool { if self.leaks_private_dep(def_id) { - self.tcx.lint_node(lint::builtin::EXTERNAL_PRIVATE_DEPENDENCY, + self.tcx.lint_node(lint::builtin::EXPORTED_PRIVATE_DEPENDENCIES, self.item_id, self.span, &format!("{} `{}` from private dependency '{}' in public \ @@ -1726,9 +1726,6 @@ pub fn check_crate<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) -> Lrc { fn check_mod_privacy<'tcx>(tcx: TyCtxt<'_, 'tcx, 'tcx>, module_def_id: DefId) { let empty_tables = ty::TypeckTables::empty(None); - let public_crates: FxHashSet = tcx.sess.opts.extern_public.iter().flat_map(|c| { - tcx.crates().iter().find(|&&krate| &tcx.crate_name(krate) == c).cloned() - }).collect(); // Check privacy of names not checked in previous compilation stages. let mut visitor = NamePrivacyVisitor { @@ -1765,6 +1762,11 @@ fn privacy_access_levels<'tcx>( queries::check_mod_privacy::ensure(tcx, tcx.hir().local_def_id(module)); } + let public_crates: FxHashSet = tcx.sess.opts.extern_public.iter().flat_map(|c| { + tcx.crates().iter().find(|&&krate| &tcx.crate_name(krate) == c).cloned() + }).collect(); + + // Build up a set of all exported items in the AST. This is a set of all // items which are reachable from external crates based on visibility. let mut visitor = EmbargoVisitor { diff --git a/src/test/ui/feature-gates/feature-gate-public_private_dependencies.rs b/src/test/ui/feature-gates/feature-gate-public_private_dependencies.rs index bd27c844fc6..b8fb4b8dc19 100644 --- a/src/test/ui/feature-gates/feature-gate-public_private_dependencies.rs +++ b/src/test/ui/feature-gates/feature-gate-public_private_dependencies.rs @@ -9,7 +9,7 @@ // Without ![feature(public_private_dependencies)], // this should do nothing/ -#![deny(external_private_dependency)] +#![deny(exported_private_dependencies)] extern crate pub_dep; diff --git a/src/test/ui/privacy/pub-priv-dep/pub-priv1.rs b/src/test/ui/privacy/pub-priv-dep/pub-priv1.rs index 16a59dff878..7d71dbe6392 100644 --- a/src/test/ui/privacy/pub-priv-dep/pub-priv1.rs +++ b/src/test/ui/privacy/pub-priv-dep/pub-priv1.rs @@ -2,7 +2,7 @@ // aux-build:pub_dep.rs // compile-flags: --extern-public=pub_dep #![feature(public_private_dependencies)] -#![deny(external_private_dependency)] +#![deny(exported_private_dependencies)] // This crate is a private dependency extern crate priv_dep; diff --git a/src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr b/src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr index 9e5bffa6eea..11f4be8cbbc 100644 --- a/src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr +++ b/src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr @@ -7,8 +7,8 @@ LL | pub field: OtherType, note: lint level defined here --> $DIR/pub-priv1.rs:5:9 | -LL | #![deny(external_private_dependency)] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +LL | #![deny(exported_private_dependencies)] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #44663 diff --git a/src/test/ui/privacy/pub-priv-dep/std-pub.rs b/src/test/ui/privacy/pub-priv-dep/std-pub.rs index 7acf0f89c5d..3c1520c6902 100644 --- a/src/test/ui/privacy/pub-priv-dep/std-pub.rs +++ b/src/test/ui/privacy/pub-priv-dep/std-pub.rs @@ -4,7 +4,7 @@ // run-pass #![feature(public_private_dependencies)] -#![deny(external_private_dependency)] +#![deny(exported_private_dependencies)] pub struct PublicType { pub field: Option