From 85caaf59051aa30cf57fc47c010be6e36c4c85f6 Mon Sep 17 00:00:00 2001 From: Eduard-Mihai Burtescu Date: Sat, 15 Sep 2018 10:56:03 +0300 Subject: [PATCH] Fix `useless_attribute` to also whitelist `unused_extern_crates`. --- clippy_lints/src/attrs.rs | 11 ++++++++--- tests/ui/useless_attribute.rs | 7 ++++--- tests/ui/useless_attribute.stderr | 8 ++++---- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/clippy_lints/src/attrs.rs b/clippy_lints/src/attrs.rs index 3a8514818f6..128a5ab147e 100644 --- a/clippy_lints/src/attrs.rs +++ b/clippy_lints/src/attrs.rs @@ -180,10 +180,15 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for AttrPass { || is_word(lint, "deprecated") { return }, - ItemKind::ExternCrate(..) => if is_word(lint, "unused_imports") - && skip_unused_imports { + ItemKind::ExternCrate(..) => { + if is_word(lint, "unused_imports") + && skip_unused_imports { + return + } + if is_word(lint, "unused_extern_crates") { return - }, + } + } _ => {}, } } diff --git a/tests/ui/useless_attribute.rs b/tests/ui/useless_attribute.rs index 300fcfa2b70..80d4ebcedba 100644 --- a/tests/ui/useless_attribute.rs +++ b/tests/ui/useless_attribute.rs @@ -2,11 +2,12 @@ #![warn(clippy::useless_attribute)] -#[allow(dead_code, unused_extern_crates)] -#[cfg_attr(feature = "cargo-clippy", allow(dead_code, unused_extern_crates))] +#[allow(dead_code)] +#[cfg_attr(feature = "cargo-clippy", allow(dead_code))] #[cfg_attr(feature = "cargo-clippy", - allow(dead_code, unused_extern_crates))] + allow(dead_code))] #[allow(unused_imports)] +#[allow(unused_extern_crates)] #[macro_use] extern crate clippy_lints; diff --git a/tests/ui/useless_attribute.stderr b/tests/ui/useless_attribute.stderr index 59f1aaffb3f..d498fe64ebf 100644 --- a/tests/ui/useless_attribute.stderr +++ b/tests/ui/useless_attribute.stderr @@ -1,16 +1,16 @@ error: useless lint attribute --> $DIR/useless_attribute.rs:5:1 | -5 | #[allow(dead_code, unused_extern_crates)] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(dead_code, unused_extern_crates)]` +5 | #[allow(dead_code)] + | ^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(dead_code)]` | = note: `-D clippy::useless-attribute` implied by `-D warnings` error: useless lint attribute --> $DIR/useless_attribute.rs:6:1 | -6 | #[cfg_attr(feature = "cargo-clippy", allow(dead_code, unused_extern_crates))] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![cfg_attr(feature = "cargo-clippy", allow(dead_code, unused_extern_crates))` +6 | #[cfg_attr(feature = "cargo-clippy", allow(dead_code))] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![cfg_attr(feature = "cargo-clippy", allow(dead_code))` error: aborting due to 2 previous errors