2023-08-24 19:32:12 +00:00
|
|
|
//@aux-build:proc_macro_derive.rs
|
2019-04-09 21:19:11 +00:00
|
|
|
|
2024-04-18 15:48:52 +00:00
|
|
|
#![allow(unused, clippy::duplicated_attributes)]
|
2018-07-28 15:34:52 +00:00
|
|
|
#![warn(clippy::useless_attribute)]
|
2019-05-17 10:42:43 +00:00
|
|
|
#![warn(unreachable_pub)]
|
2019-11-06 18:36:04 +00:00
|
|
|
#![feature(rustc_private)]
|
2016-08-17 09:36:04 +00:00
|
|
|
|
2018-09-15 07:56:03 +00:00
|
|
|
#[allow(dead_code)]
|
2024-02-27 14:25:18 +00:00
|
|
|
#[cfg_attr(clippy, allow(dead_code))]
|
2018-12-10 23:59:59 +00:00
|
|
|
#[rustfmt::skip]
|
2018-07-19 11:44:26 +00:00
|
|
|
#[allow(unused_imports)]
|
2018-09-15 07:56:03 +00:00
|
|
|
#[allow(unused_extern_crates)]
|
2018-07-19 11:44:26 +00:00
|
|
|
#[macro_use]
|
2020-03-30 09:02:14 +00:00
|
|
|
extern crate rustc_middle;
|
2016-08-17 09:36:04 +00:00
|
|
|
|
2019-04-09 21:19:11 +00:00
|
|
|
#[macro_use]
|
|
|
|
extern crate proc_macro_derive;
|
|
|
|
|
2022-11-21 19:34:47 +00:00
|
|
|
fn test_indented_attr() {
|
|
|
|
#[allow(clippy::almost_swapped)]
|
|
|
|
use std::collections::HashSet;
|
|
|
|
|
|
|
|
let _ = HashSet::<u32>::default();
|
|
|
|
}
|
|
|
|
|
2016-08-19 15:31:14 +00:00
|
|
|
// don't lint on unused_import for `use` items
|
|
|
|
#[allow(unused_imports)]
|
|
|
|
use std::collections;
|
|
|
|
|
2020-03-02 09:22:05 +00:00
|
|
|
// don't lint on unused for `use` items
|
|
|
|
#[allow(unused)]
|
|
|
|
use std::option;
|
|
|
|
|
2016-12-01 21:36:35 +00:00
|
|
|
// don't lint on deprecated for `use` items
|
2018-12-09 22:26:16 +00:00
|
|
|
mod foo {
|
|
|
|
#[deprecated]
|
|
|
|
pub struct Bar;
|
|
|
|
}
|
2016-12-01 21:36:35 +00:00
|
|
|
#[allow(deprecated)]
|
|
|
|
pub use foo::Bar;
|
|
|
|
|
2019-04-09 21:19:11 +00: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 10:42:43 +00:00
|
|
|
// don't lint on unreachable_pub for `use` items
|
|
|
|
mod a {
|
|
|
|
mod b {
|
|
|
|
#[allow(dead_code)]
|
|
|
|
#[allow(unreachable_pub)]
|
2022-04-07 17:39:59 +00:00
|
|
|
pub struct C;
|
2019-05-17 10:42:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[allow(unreachable_pub)]
|
|
|
|
pub use self::b::C;
|
|
|
|
}
|
|
|
|
|
2020-09-10 15:47:07 +00:00
|
|
|
// don't lint on clippy::wildcard_imports for `use` items
|
|
|
|
#[allow(clippy::wildcard_imports)]
|
|
|
|
pub use std::io::prelude::*;
|
|
|
|
|
|
|
|
// don't lint on clippy::enum_glob_use for `use` items
|
|
|
|
#[allow(clippy::enum_glob_use)]
|
|
|
|
pub use std::cmp::Ordering::*;
|
|
|
|
|
2022-05-05 14:12:52 +00:00
|
|
|
// don't lint on clippy::redundant_pub_crate
|
|
|
|
mod c {
|
|
|
|
#[allow(clippy::redundant_pub_crate)]
|
|
|
|
pub(crate) struct S;
|
|
|
|
}
|
|
|
|
|
2022-11-21 19:34:47 +00:00
|
|
|
// https://github.com/rust-lang/rust-clippy/issues/7511
|
|
|
|
pub mod split {
|
|
|
|
#[allow(clippy::module_name_repetitions)]
|
|
|
|
pub use regex::SplitN;
|
2020-01-08 16:31:27 +00:00
|
|
|
}
|
|
|
|
|
2022-11-21 19:34:47 +00:00
|
|
|
// https://github.com/rust-lang/rust-clippy/issues/8768
|
|
|
|
#[allow(clippy::single_component_path_imports)]
|
|
|
|
use regex;
|
|
|
|
|
2024-02-27 14:25:18 +00:00
|
|
|
mod module {
|
|
|
|
pub(crate) struct Struct;
|
|
|
|
}
|
|
|
|
|
|
|
|
#[rustfmt::skip]
|
|
|
|
#[allow(unused_import_braces)]
|
|
|
|
use module::{Struct};
|
|
|
|
|
2020-01-08 16:31:27 +00:00
|
|
|
fn main() {
|
|
|
|
test_indented_attr();
|
|
|
|
}
|