From eeeadf30bf5f674bcbbb4f62526f89666f6fdd7c Mon Sep 17 00:00:00 2001
From: Philipp Hansch <dev@phansch.net>
Date: Wed, 28 Aug 2019 21:17:12 +0200
Subject: [PATCH] Make useless_attribute suggestion MaybeIncorrect

---
 clippy_lints/src/attrs.rs         |  2 +-
 tests/ui/useless_attribute.fixed  | 49 -------------------------------
 tests/ui/useless_attribute.rs     |  1 -
 tests/ui/useless_attribute.stderr |  4 +--
 4 files changed, 3 insertions(+), 53 deletions(-)
 delete mode 100644 tests/ui/useless_attribute.fixed

diff --git a/clippy_lints/src/attrs.rs b/clippy_lints/src/attrs.rs
index 1159df5475a..558298c2e0e 100644
--- a/clippy_lints/src/attrs.rs
+++ b/clippy_lints/src/attrs.rs
@@ -277,7 +277,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Attributes {
                                                         line_span,
                                                         "if you just forgot a `!`, use",
                                                         sugg,
-                                                        Applicability::MachineApplicable,
+                                                        Applicability::MaybeIncorrect,
                                                     );
                                                 },
                                             );
diff --git a/tests/ui/useless_attribute.fixed b/tests/ui/useless_attribute.fixed
deleted file mode 100644
index d729311e907..00000000000
--- a/tests/ui/useless_attribute.fixed
+++ /dev/null
@@ -1,49 +0,0 @@
-// run-rustfix
-// aux-build:proc_macro_derive.rs
-
-#![warn(clippy::useless_attribute)]
-#![warn(unreachable_pub)]
-
-#![allow(dead_code)]
-#![cfg_attr(feature = "cargo-clippy", allow(dead_code))]
-#[rustfmt::skip]
-#[cfg_attr(feature = "cargo-clippy",
-           allow(dead_code))]
-#[allow(unused_imports)]
-#[allow(unused_extern_crates)]
-#[macro_use]
-extern crate clippy_lints;
-
-#[macro_use]
-extern crate proc_macro_derive;
-
-// don't lint on unused_import for `use` items
-#[allow(unused_imports)]
-use std::collections;
-
-// don't lint on deprecated for `use` items
-mod foo {
-    #[deprecated]
-    pub struct Bar;
-}
-#[allow(deprecated)]
-pub use foo::Bar;
-
-// This should not trigger the lint. There's lint level definitions inside the external derive
-// that would trigger the useless_attribute lint.
-#[derive(DeriveSomething)]
-struct Baz;
-
-// don't lint on unreachable_pub for `use` items
-mod a {
-    mod b {
-        #[allow(dead_code)]
-        #[allow(unreachable_pub)]
-        pub struct C {}
-    }
-
-    #[allow(unreachable_pub)]
-    pub use self::b::C;
-}
-
-fn main() {}
diff --git a/tests/ui/useless_attribute.rs b/tests/ui/useless_attribute.rs
index c6fc5531127..dd84b1b2c1c 100644
--- a/tests/ui/useless_attribute.rs
+++ b/tests/ui/useless_attribute.rs
@@ -1,4 +1,3 @@
-// run-rustfix
 // aux-build:proc_macro_derive.rs
 
 #![warn(clippy::useless_attribute)]
diff --git a/tests/ui/useless_attribute.stderr b/tests/ui/useless_attribute.stderr
index 87a1291543e..bf7ea1698d3 100644
--- a/tests/ui/useless_attribute.stderr
+++ b/tests/ui/useless_attribute.stderr
@@ -1,5 +1,5 @@
 error: useless lint attribute
-  --> $DIR/useless_attribute.rs:7:1
+  --> $DIR/useless_attribute.rs:6:1
    |
 LL | #[allow(dead_code)]
    | ^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(dead_code)]`
@@ -7,7 +7,7 @@ LL | #[allow(dead_code)]
    = note: `-D clippy::useless-attribute` implied by `-D warnings`
 
 error: useless lint attribute
-  --> $DIR/useless_attribute.rs:8:1
+  --> $DIR/useless_attribute.rs:7:1
    |
 LL | #[cfg_attr(feature = "cargo-clippy", allow(dead_code))]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![cfg_attr(feature = "cargo-clippy", allow(dead_code)`