/
useless_attribute.rs
48 lines (39 loc) · 1.02 KB
/
useless_attribute.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// 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() {}