Spruce up the diagnostics of some early lints

This commit is contained in:
León Orell Valerian Liehr 2024-06-03 07:17:19 +02:00
parent 9f2d0b3490
commit b2949ff911
No known key found for this signature in database
GPG Key ID: D17A07215F68E713
32 changed files with 83 additions and 51 deletions

View File

@ -154,7 +154,7 @@ expand_unsupported_key_value =
key-value macro attributes are not supported key-value macro attributes are not supported
expand_var_still_repeating = expand_var_still_repeating =
variable '{$ident}' is still repeating at this depth variable `{$ident}` is still repeating at this depth
expand_wrong_fragment_kind = expand_wrong_fragment_kind =
non-{$kind} macro in {$kind} position: {$name} non-{$kind} macro in {$kind} position: {$name}

View File

@ -445,7 +445,8 @@ lint_macro_is_private = macro `{$ident}` is private
lint_macro_rule_never_used = rule #{$n} of macro `{$name}` is never used lint_macro_rule_never_used = rule #{$n} of macro `{$name}` is never used
lint_macro_use_deprecated = lint_macro_use_deprecated =
deprecated `#[macro_use]` attribute used to import macros should be replaced at use sites with a `use` item to import the macro instead applying the `#[macro_use]` attribute to an `extern crate` item is deprecated
.help = remove it and import macros at use sites with a `use` item instead
lint_malformed_attribute = malformed lint attribute input lint_malformed_attribute = malformed lint attribute input
@ -456,7 +457,7 @@ lint_map_unit_fn = `Iterator::map` call that discard the iterator's values
.map_label = after this call to map, the resulting iterator is `impl Iterator<Item = ()>`, which means the only information carried by the iterator is the number of items .map_label = after this call to map, the resulting iterator is `impl Iterator<Item = ()>`, which means the only information carried by the iterator is the number of items
.suggestion = you might have meant to use `Iterator::for_each` .suggestion = you might have meant to use `Iterator::for_each`
lint_metavariable_still_repeating = variable '{$name}' is still repeating at this depth lint_metavariable_still_repeating = variable `{$name}` is still repeating at this depth
lint_metavariable_wrong_operator = meta-variable repeats with different Kleene operator lint_metavariable_wrong_operator = meta-variable repeats with different Kleene operator
@ -632,8 +633,8 @@ lint_pattern_in_bodiless = patterns aren't allowed in functions without bodies
lint_pattern_in_foreign = patterns aren't allowed in foreign function declarations lint_pattern_in_foreign = patterns aren't allowed in foreign function declarations
.label = pattern not allowed in foreign function .label = pattern not allowed in foreign function
lint_private_extern_crate_reexport = lint_private_extern_crate_reexport = extern crate `{$ident}` is private and cannot be re-exported
extern crate `{$ident}` is private, and cannot be re-exported, consider declaring with `pub` .suggestion = consider making the `extern crate` item publicly accessible
lint_proc_macro_back_compat = using an old version of `{$crate_name}` lint_proc_macro_back_compat = using an old version of `{$crate_name}`
.note = older versions of the `{$crate_name}` crate will stop compiling in future versions of Rust; please update to `{$crate_name}` v{$fixed_version}, or switch to one of the `{$crate_name}` alternatives .note = older versions of the `{$crate_name}` crate will stop compiling in future versions of Rust; please update to `{$crate_name}` v{$fixed_version}, or switch to one of the `{$crate_name}` alternatives
@ -847,7 +848,8 @@ lint_unused_coroutine =
}{$post} that must be used }{$post} that must be used
.note = coroutines are lazy and do nothing unless resumed .note = coroutines are lazy and do nothing unless resumed
lint_unused_crate_dependency = external crate `{$extern_crate}` unused in `{$local_crate}`: remove the dependency or add `use {$extern_crate} as _;` lint_unused_crate_dependency = extern crate `{$extern_crate}` is unused in crate `{$local_crate}`
.help = remove the dependency or add `use {$extern_crate} as _;` to the crate root
lint_unused_def = unused {$pre}`{$def}`{$post} that must be used lint_unused_def = unused {$pre}`{$def}`{$post} that must be used
.suggestion = use `let _ = ...` to ignore the resulting value .suggestion = use `let _ = ...` to ignore the resulting value

View File

@ -340,8 +340,9 @@ pub(super) fn decorate_lint(sess: &Session, diagnostic: BuiltinLintDiag, diag: &
lints::MacroUseDeprecated.decorate_lint(diag); lints::MacroUseDeprecated.decorate_lint(diag);
} }
BuiltinLintDiag::UnusedMacroUse => lints::UnusedMacroUse.decorate_lint(diag), BuiltinLintDiag::UnusedMacroUse => lints::UnusedMacroUse.decorate_lint(diag),
BuiltinLintDiag::PrivateExternCrateReexport(ident) => { BuiltinLintDiag::PrivateExternCrateReexport { source: ident, extern_crate_span } => {
lints::PrivateExternCrateReexport { ident }.decorate_lint(diag); lints::PrivateExternCrateReexport { ident, sugg: extern_crate_span.shrink_to_lo() }
.decorate_lint(diag);
} }
BuiltinLintDiag::UnusedLabel => lints::UnusedLabel.decorate_lint(diag), BuiltinLintDiag::UnusedLabel => lints::UnusedLabel.decorate_lint(diag),
BuiltinLintDiag::MacroIsPrivate(ident) => { BuiltinLintDiag::MacroIsPrivate(ident) => {

View File

@ -2313,6 +2313,7 @@ pub mod unexpected_cfg_value {
#[derive(LintDiagnostic)] #[derive(LintDiagnostic)]
#[diag(lint_macro_use_deprecated)] #[diag(lint_macro_use_deprecated)]
#[help]
pub struct MacroUseDeprecated; pub struct MacroUseDeprecated;
#[derive(LintDiagnostic)] #[derive(LintDiagnostic)]
@ -2323,6 +2324,8 @@ pub struct UnusedMacroUse;
#[diag(lint_private_extern_crate_reexport, code = E0365)] #[diag(lint_private_extern_crate_reexport, code = E0365)]
pub struct PrivateExternCrateReexport { pub struct PrivateExternCrateReexport {
pub ident: Ident, pub ident: Ident,
#[suggestion(code = "pub ", style = "verbose", applicability = "maybe-incorrect")]
pub sugg: Span,
} }
#[derive(LintDiagnostic)] #[derive(LintDiagnostic)]
@ -2416,6 +2419,7 @@ pub struct UnknownMacroVariable {
#[derive(LintDiagnostic)] #[derive(LintDiagnostic)]
#[diag(lint_unused_crate_dependency)] #[diag(lint_unused_crate_dependency)]
#[help]
pub struct UnusedCrateDependency { pub struct UnusedCrateDependency {
pub extern_crate: Symbol, pub extern_crate: Symbol,
pub local_crate: Symbol, pub local_crate: Symbol,

View File

@ -512,8 +512,9 @@ declare_lint! {
/// This will produce: /// This will produce:
/// ///
/// ```text /// ```text
/// error: external crate `regex` unused in `lint_example`: remove the dependency or add `use regex as _;` /// error: extern crate `regex` is unused in crate `lint_example`
/// | /// |
/// = help: remove the dependency or add `use regex as _;` to the crate root
/// note: the lint level is defined here /// note: the lint level is defined here
/// --> src/lib.rs:1:9 /// --> src/lib.rs:1:9
/// | /// |
@ -2202,8 +2203,7 @@ declare_lint! {
} }
declare_lint! { declare_lint! {
/// The `macro_use_extern_crate` lint detects the use of the /// The `macro_use_extern_crate` lint detects the use of the [`macro_use` attribute].
/// [`macro_use` attribute].
/// ///
/// ### Example /// ### Example
/// ///
@ -2221,12 +2221,13 @@ declare_lint! {
/// This will produce: /// This will produce:
/// ///
/// ```text /// ```text
/// error: deprecated `#[macro_use]` attribute used to import macros should be replaced at use sites with a `use` item to import the macro instead /// error: applying the `#[macro_use]` attribute to an `extern crate` item is deprecated
/// --> src/main.rs:3:1 /// --> src/main.rs:3:1
/// | /// |
/// 3 | #[macro_use] /// 3 | #[macro_use]
/// | ^^^^^^^^^^^^ /// | ^^^^^^^^^^^^
/// | /// |
/// = help: remove it and import macros at use sites with a `use` item instead
/// note: the lint level is defined here /// note: the lint level is defined here
/// --> src/main.rs:1:9 /// --> src/main.rs:1:9
/// | /// |

View File

@ -707,7 +707,10 @@ pub enum BuiltinLintDiag {
}, },
MacroUseDeprecated, MacroUseDeprecated,
UnusedMacroUse, UnusedMacroUse,
PrivateExternCrateReexport(Ident), PrivateExternCrateReexport {
source: Ident,
extern_crate_span: Span,
},
UnusedLabel, UnusedLabel,
MacroIsPrivate(Ident), MacroIsPrivate(Ident),
UnusedMacroDefinition(Symbol), UnusedMacroDefinition(Symbol),

View File

@ -259,13 +259,18 @@ struct UnresolvedImportError {
// Reexports of the form `pub use foo as bar;` where `foo` is `extern crate foo;` // Reexports of the form `pub use foo as bar;` where `foo` is `extern crate foo;`
// are permitted for backward-compatibility under a deprecation lint. // are permitted for backward-compatibility under a deprecation lint.
fn pub_use_of_private_extern_crate_hack(import: Import<'_>, binding: NameBinding<'_>) -> bool { fn pub_use_of_private_extern_crate_hack(
import: Import<'_>,
binding: NameBinding<'_>,
) -> Option<NodeId> {
match (&import.kind, &binding.kind) { match (&import.kind, &binding.kind) {
(ImportKind::Single { .. }, NameBindingKind::Import { import: binding_import, .. }) => { (ImportKind::Single { .. }, NameBindingKind::Import { import: binding_import, .. })
matches!(binding_import.kind, ImportKind::ExternCrate { .. }) if let ImportKind::ExternCrate { id, .. } = binding_import.kind
&& import.expect_vis().is_public() && import.expect_vis().is_public() =>
{
Some(id)
} }
_ => false, _ => None,
} }
} }
@ -275,7 +280,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
pub(crate) fn import(&self, binding: NameBinding<'a>, import: Import<'a>) -> NameBinding<'a> { pub(crate) fn import(&self, binding: NameBinding<'a>, import: Import<'a>) -> NameBinding<'a> {
let import_vis = import.expect_vis().to_def_id(); let import_vis = import.expect_vis().to_def_id();
let vis = if binding.vis.is_at_least(import_vis, self.tcx) let vis = if binding.vis.is_at_least(import_vis, self.tcx)
|| pub_use_of_private_extern_crate_hack(import, binding) || pub_use_of_private_extern_crate_hack(import, binding).is_some()
{ {
import_vis import_vis
} else { } else {
@ -1253,12 +1258,15 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
// All namespaces must be re-exported with extra visibility for an error to occur. // All namespaces must be re-exported with extra visibility for an error to occur.
if !any_successful_reexport { if !any_successful_reexport {
let (ns, binding) = reexport_error.unwrap(); let (ns, binding) = reexport_error.unwrap();
if pub_use_of_private_extern_crate_hack(import, binding) { if let Some(extern_crate_id) = pub_use_of_private_extern_crate_hack(import, binding) {
self.lint_buffer.buffer_lint( self.lint_buffer.buffer_lint(
PUB_USE_OF_PRIVATE_EXTERN_CRATE, PUB_USE_OF_PRIVATE_EXTERN_CRATE,
import_id, import_id,
import.span, import.span,
BuiltinLintDiag::PrivateExternCrateReexport(ident), BuiltinLintDiag::PrivateExternCrateReexport {
source: ident,
extern_crate_span: self.tcx.source_span(self.local_def_id(extern_crate_id)),
},
); );
} else { } else {
if ns == TypeNS { if ns == TypeNS {

View File

@ -2,5 +2,5 @@
//@ compile-flags: -Zunstable-options -Dunused-crate-dependencies //@ compile-flags: -Zunstable-options -Dunused-crate-dependencies
//@ edition:2018 //@ edition:2018
fn main() { //~ ERROR external crate `somedep` unused in `no_nounused` fn main() { //~ ERROR extern crate `somedep` is unused in crate `no_nounused`
} }

View File

@ -1,9 +1,10 @@
error: external crate `somedep` unused in `no_nounused`: remove the dependency or add `use somedep as _;` error: extern crate `somedep` is unused in crate `no_nounused`
--> $DIR/no-nounused.rs:5:1 --> $DIR/no-nounused.rs:5:1
| |
LL | fn main() { LL | fn main() {
| ^ | ^
| |
= help: remove the dependency or add `use somedep as _;` to the crate root
= note: requested on the command line with `-D unused-crate-dependencies` = note: requested on the command line with `-D unused-crate-dependencies`
error: aborting due to 1 previous error error: aborting due to 1 previous error

View File

@ -3,7 +3,7 @@
macro_rules! foo { macro_rules! foo {
() => {}; () => {};
($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* }; ($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* };
//~^ ERROR variable 'j' is still repeating //~^ ERROR variable `j` is still repeating
} }
macro_rules! bar { macro_rules! bar {
@ -12,12 +12,12 @@ macro_rules! bar {
macro_rules! nested { macro_rules! nested {
() => {}; () => {};
($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* }; ($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* };
//~^ ERROR variable 'j' is still repeating //~^ ERROR variable `j` is still repeating
} }
}; };
( $( $i:ident = $($j:ident),+ );* ) => { ( $( $i:ident = $($j:ident),+ );* ) => {
$(macro_rules! $i { $(macro_rules! $i {
() => { $j }; //~ ERROR variable 'j' is still repeating () => { $j }; //~ ERROR variable `j` is still repeating
})* })*
}; };
} }

View File

@ -1,4 +1,4 @@
error: variable 'j' is still repeating at this depth error: variable `j` is still repeating at this depth
--> $DIR/issue-61053-missing-repetition.rs:5:52 --> $DIR/issue-61053-missing-repetition.rs:5:52
| |
LL | ($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* }; LL | ($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* };
@ -12,7 +12,7 @@ note: the lint level is defined here
LL | #![deny(meta_variable_misuse)] LL | #![deny(meta_variable_misuse)]
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
error: variable 'j' is still repeating at this depth error: variable `j` is still repeating at this depth
--> $DIR/issue-61053-missing-repetition.rs:14:60 --> $DIR/issue-61053-missing-repetition.rs:14:60
| |
LL | ($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* }; LL | ($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* };
@ -20,7 +20,7 @@ LL | ($( $i:ident = $($j:ident),+ );*) => { $( $i = $j; )* };
| | | |
| expected repetition | expected repetition
error: variable 'j' is still repeating at this depth error: variable `j` is still repeating at this depth
--> $DIR/issue-61053-missing-repetition.rs:20:21 --> $DIR/issue-61053-missing-repetition.rs:20:21
| |
LL | ( $( $i:ident = $($j:ident),+ );* ) => { LL | ( $( $i:ident = $($j:ident),+ );* ) => {

View File

@ -35,7 +35,7 @@ macro_rules! no_curly__no_rhs_dollar__no_round {
#[rustfmt::skip] // autoformatters can break a few of the error traces #[rustfmt::skip] // autoformatters can break a few of the error traces
macro_rules! no_curly__rhs_dollar__round { macro_rules! no_curly__rhs_dollar__round {
( $( $i:ident ),* ) => { count($i) }; ( $( $i:ident ),* ) => { count($i) };
//~^ ERROR variable 'i' is still repeating at this depth //~^ ERROR variable `i` is still repeating at this depth
} }
#[rustfmt::skip] // autoformatters can break a few of the error traces #[rustfmt::skip] // autoformatters can break a few of the error traces

View File

@ -208,7 +208,7 @@ error: `count` can not be placed inside the inner-most repetition
LL | ( $i:ident ) => { ${ count($i) } }; LL | ( $i:ident ) => { ${ count($i) } };
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
error: variable 'i' is still repeating at this depth error: variable `i` is still repeating at this depth
--> $DIR/syntax-errors.rs:37:36 --> $DIR/syntax-errors.rs:37:36
| |
LL | ( $( $i:ident ),* ) => { count($i) }; LL | ( $( $i:ident ),* ) => { count($i) };

View File

@ -1,10 +1,10 @@
error: variable 'v' is still repeating at this depth error: variable `v` is still repeating at this depth
--> $DIR/macro-repeat.rs:3:9 --> $DIR/macro-repeat.rs:3:9
| |
LL | $v LL | $v
| ^^ | ^^
error: variable 'v' is still repeating at this depth error: variable `v` is still repeating at this depth
--> $DIR/macro-repeat.rs:3:9 --> $DIR/macro-repeat.rs:3:9
| |
LL | $v LL | $v

View File

@ -1,5 +1,5 @@
extern crate core; extern crate core;
pub use core as reexported_core; //~ ERROR `core` is private, and cannot be re-exported pub use core as reexported_core; //~ ERROR `core` is private and cannot be re-exported
//~^ WARN this was previously accepted //~^ WARN this was previously accepted
mod foo1 { mod foo1 {

View File

@ -22,7 +22,7 @@ note: the crate import `core` is defined here
LL | extern crate core; LL | extern crate core;
| ^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^
error[E0365]: extern crate `core` is private, and cannot be re-exported, consider declaring with `pub` error[E0365]: extern crate `core` is private and cannot be re-exported
--> $DIR/pub-reexport-priv-extern-crate.rs:2:9 --> $DIR/pub-reexport-priv-extern-crate.rs:2:9
| |
LL | pub use core as reexported_core; LL | pub use core as reexported_core;
@ -31,6 +31,10 @@ LL | pub use core as reexported_core;
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = 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 #34537 <https://github.com/rust-lang/rust/issues/34537> = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
= note: `#[deny(pub_use_of_private_extern_crate)]` on by default = note: `#[deny(pub_use_of_private_extern_crate)]` on by default
help: consider making the `extern crate` item publicly accessible
|
LL | pub extern crate core;
| +++
error: aborting due to 3 previous errors error: aborting due to 3 previous errors

View File

@ -4,7 +4,7 @@
#![warn(macro_use_extern_crate, unused)] #![warn(macro_use_extern_crate, unused)]
#[macro_use] //~ WARN should be replaced at use sites with a `use` item #[macro_use] //~ WARN applying the `#[macro_use]` attribute to an `extern crate` item is deprecated
extern crate macro_use_warned_against; extern crate macro_use_warned_against;
#[macro_use] //~ WARN unused `#[macro_use]` #[macro_use] //~ WARN unused `#[macro_use]`
extern crate macro_use_warned_against2; extern crate macro_use_warned_against2;

View File

@ -1,9 +1,10 @@
warning: deprecated `#[macro_use]` attribute used to import macros should be replaced at use sites with a `use` item to import the macro instead warning: applying the `#[macro_use]` attribute to an `extern crate` item is deprecated
--> $DIR/macro-use-warned-against.rs:7:1 --> $DIR/macro-use-warned-against.rs:7:1
| |
LL | #[macro_use] LL | #[macro_use]
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
| |
= help: remove it and import macros at use sites with a `use` item instead
note: the lint level is defined here note: the lint level is defined here
--> $DIR/macro-use-warned-against.rs:5:9 --> $DIR/macro-use-warned-against.rs:5:9
| |

View File

@ -4,6 +4,6 @@
//@ aux-crate:bar=bar.rs //@ aux-crate:bar=bar.rs
#![deny(unused_crate_dependencies)] #![deny(unused_crate_dependencies)]
//~^ ERROR external crate `bar` unused in //~^ ERROR extern crate `bar` is unused in
fn main() {} fn main() {}

View File

@ -1,9 +1,10 @@
error: external crate `bar` unused in `deny_attr`: remove the dependency or add `use bar as _;` error: extern crate `bar` is unused in crate `deny_attr`
--> $DIR/deny-attr.rs:6:1 --> $DIR/deny-attr.rs:6:1
| |
LL | #![deny(unused_crate_dependencies)] LL | #![deny(unused_crate_dependencies)]
| ^ | ^
| |
= help: remove the dependency or add `use bar as _;` to the crate root
note: the lint level is defined here note: the lint level is defined here
--> $DIR/deny-attr.rs:6:9 --> $DIR/deny-attr.rs:6:9
| |

View File

@ -5,4 +5,4 @@
//@ aux-crate:bar=bar.rs //@ aux-crate:bar=bar.rs
fn main() {} fn main() {}
//~^ ERROR external crate `bar` unused in //~^ ERROR extern crate `bar` is unused in

View File

@ -1,9 +1,10 @@
error: external crate `bar` unused in `deny_cmdline`: remove the dependency or add `use bar as _;` error: extern crate `bar` is unused in crate `deny_cmdline`
--> $DIR/deny-cmdline.rs:7:1 --> $DIR/deny-cmdline.rs:7:1
| |
LL | fn main() {} LL | fn main() {}
| ^ | ^
| |
= help: remove the dependency or add `use bar as _;` to the crate root
= note: requested on the command line with `-D unused-crate-dependencies` = note: requested on the command line with `-D unused-crate-dependencies`
error: aborting due to 1 previous error error: aborting due to 1 previous error

View File

@ -5,7 +5,7 @@
//@ compile-flags:--crate-type lib -Wunused-crate-dependencies //@ compile-flags:--crate-type lib -Wunused-crate-dependencies
pub fn fib(n: u32) -> Vec<u32> { pub fn fib(n: u32) -> Vec<u32> {
//~^ WARNING external crate `bar` unused in //~^ WARNING extern crate `bar` is unused in
let mut prev = 0; let mut prev = 0;
let mut cur = 1; let mut cur = 1;
let mut v = vec![]; let mut v = vec![];

View File

@ -1,9 +1,10 @@
warning: external crate `bar` unused in `libfib`: remove the dependency or add `use bar as _;` warning: extern crate `bar` is unused in crate `libfib`
--> $DIR/libfib.rs:7:1 --> $DIR/libfib.rs:7:1
| |
LL | pub fn fib(n: u32) -> Vec<u32> { LL | pub fn fib(n: u32) -> Vec<u32> {
| ^ | ^
| |
= help: remove the dependency or add `use bar as _;` to the crate root
= note: requested on the command line with `-W unused-crate-dependencies` = note: requested on the command line with `-W unused-crate-dependencies`
warning: 1 warning emitted warning: 1 warning emitted

View File

@ -6,7 +6,7 @@
//@ aux-crate:barbar=bar.rs //@ aux-crate:barbar=bar.rs
#![warn(unused_crate_dependencies)] #![warn(unused_crate_dependencies)]
//~^ WARNING external crate `barbar` unused in //~^ WARNING extern crate `barbar` is unused in
use bar as _; use bar as _;

View File

@ -1,9 +1,10 @@
warning: external crate `barbar` unused in `unused_aliases`: remove the dependency or add `use barbar as _;` warning: extern crate `barbar` is unused in crate `unused_aliases`
--> $DIR/unused-aliases.rs:8:1 --> $DIR/unused-aliases.rs:8:1
| |
LL | #![warn(unused_crate_dependencies)] LL | #![warn(unused_crate_dependencies)]
| ^ | ^
| |
= help: remove the dependency or add `use barbar as _;` to the crate root
note: the lint level is defined here note: the lint level is defined here
--> $DIR/unused-aliases.rs:8:9 --> $DIR/unused-aliases.rs:8:9
| |

View File

@ -5,6 +5,6 @@
//@ aux-crate:bar=bar.rs //@ aux-crate:bar=bar.rs
#![warn(unused_crate_dependencies)] #![warn(unused_crate_dependencies)]
//~^ WARNING external crate `bar` unused in //~^ WARNING extern crate `bar` is unused in
fn main() {} fn main() {}

View File

@ -1,9 +1,10 @@
warning: external crate `bar` unused in `warn_attr`: remove the dependency or add `use bar as _;` warning: extern crate `bar` is unused in crate `warn_attr`
--> $DIR/warn-attr.rs:7:1 --> $DIR/warn-attr.rs:7:1
| |
LL | #![warn(unused_crate_dependencies)] LL | #![warn(unused_crate_dependencies)]
| ^ | ^
| |
= help: remove the dependency or add `use bar as _;` to the crate root
note: the lint level is defined here note: the lint level is defined here
--> $DIR/warn-attr.rs:7:9 --> $DIR/warn-attr.rs:7:9
| |

View File

@ -7,4 +7,4 @@
//@ no-prefer-dynamic //@ no-prefer-dynamic
fn main() {} fn main() {}
//~^ WARNING external crate `bar` unused in //~^ WARNING extern crate `bar` is unused in

View File

@ -1,9 +1,10 @@
warning: external crate `bar` unused in `warn_cmdline_static`: remove the dependency or add `use bar as _;` warning: extern crate `bar` is unused in crate `warn_cmdline_static`
--> $DIR/warn-cmdline-static.rs:9:1 --> $DIR/warn-cmdline-static.rs:9:1
| |
LL | fn main() {} LL | fn main() {}
| ^ | ^
| |
= help: remove the dependency or add `use bar as _;` to the crate root
= note: requested on the command line with `-W unused-crate-dependencies` = note: requested on the command line with `-W unused-crate-dependencies`
warning: 1 warning emitted warning: 1 warning emitted

View File

@ -6,4 +6,4 @@
//@ aux-crate:bar=bar.rs //@ aux-crate:bar=bar.rs
fn main() {} fn main() {}
//~^ WARNING external crate `bar` unused in //~^ WARNING extern crate `bar` is unused in

View File

@ -1,9 +1,10 @@
warning: external crate `bar` unused in `warn_cmdline`: remove the dependency or add `use bar as _;` warning: extern crate `bar` is unused in crate `warn_cmdline`
--> $DIR/warn-cmdline.rs:8:1 --> $DIR/warn-cmdline.rs:8:1
| |
LL | fn main() {} LL | fn main() {}
| ^ | ^
| |
= help: remove the dependency or add `use bar as _;` to the crate root
= note: requested on the command line with `-W unused-crate-dependencies` = note: requested on the command line with `-W unused-crate-dependencies`
warning: 1 warning emitted warning: 1 warning emitted