2019-04-10 05:19:11 +08:00
|
|
|
// aux-build:proc_macro_derive.rs
|
|
|
|
|
2018-07-28 23:34:52 +08:00
|
|
|
#![warn(clippy::useless_attribute)]
|
2019-05-17 18:42:43 +08:00
|
|
|
#![warn(unreachable_pub)]
|
2016-08-17 17:36:04 +08:00
|
|
|
|
2018-09-15 15:56:03 +08:00
|
|
|
#[allow(dead_code)]
|
|
|
|
#[cfg_attr(feature = "cargo-clippy", allow(dead_code))]
|
2018-12-11 07:59:59 +08:00
|
|
|
#[rustfmt::skip]
|
|
|
|
#[cfg_attr(feature = "cargo-clippy",
|
|
|
|
allow(dead_code))]
|
2018-07-19 19:44:26 +08:00
|
|
|
#[allow(unused_imports)]
|
2018-09-15 15:56:03 +08:00
|
|
|
#[allow(unused_extern_crates)]
|
2018-07-19 19:44:26 +08:00
|
|
|
#[macro_use]
|
2016-08-17 17:36:04 +08:00
|
|
|
extern crate clippy_lints;
|
|
|
|
|
2019-04-10 05:19:11 +08:00
|
|
|
#[macro_use]
|
|
|
|
extern crate proc_macro_derive;
|
|
|
|
|
2016-08-19 23:31:14 +08:00
|
|
|
// don't lint on unused_import for `use` items
|
|
|
|
#[allow(unused_imports)]
|
|
|
|
use std::collections;
|
|
|
|
|
2016-12-02 05:36:35 +08:00
|
|
|
// don't lint on deprecated for `use` items
|
2018-12-10 06:26:16 +08:00
|
|
|
mod foo {
|
|
|
|
#[deprecated]
|
|
|
|
pub struct Bar;
|
|
|
|
}
|
2016-12-02 05:36:35 +08:00
|
|
|
#[allow(deprecated)]
|
|
|
|
pub use foo::Bar;
|
|
|
|
|
2019-04-10 05:19:11 +08:00
|
|
|
// 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;
|
|
|
|
|
2019-05-17 18:42:43 +08:00
|
|
|
// 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;
|
|
|
|
}
|
|
|
|
|
2016-08-17 17:36:04 +08:00
|
|
|
fn main() {}
|