| #![warn(clippy::disallowed_types)] |
| |
| extern crate quote; |
| extern crate syn; |
| |
| use std::sync as foo; |
| use std::sync::atomic::AtomicU32; |
| use std::time::Instant as Sneaky; |
| |
| struct HashMap; |
| |
| fn bad_return_type() -> fn() -> Sneaky { |
| todo!() |
| } |
| |
| fn bad_arg_type(_: impl Fn(Sneaky) -> foo::atomic::AtomicU32) {} |
| |
| fn trait_obj(_: &dyn std::io::Read) {} |
| |
| fn full_and_single_path_prim(_: usize, _: bool) {} |
| |
| fn const_generics<const C: usize>() {} |
| |
| struct GenArg<const U: usize>([u8; U]); |
| |
| static BAD: foo::atomic::AtomicPtr<()> = foo::atomic::AtomicPtr::new(std::ptr::null_mut()); |
| |
| fn ip(_: std::net::Ipv4Addr) {} |
| |
| fn listener(_: std::net::TcpListener) {} |
| |
| #[allow(clippy::diverging_sub_expression)] |
| fn main() { |
| let _: std::collections::HashMap<(), ()> = std::collections::HashMap::new(); |
| let _ = Sneaky::now(); |
| let _ = foo::atomic::AtomicU32::new(0); |
| static FOO: std::sync::atomic::AtomicU32 = foo::atomic::AtomicU32::new(1); |
| let _: std::collections::BTreeMap<(), syn::TypePath> = Default::default(); |
| let _ = syn::Ident::new("", todo!()); |
| let _ = HashMap; |
| let _: usize = 64_usize; |
| } |
| |
| mod useless_attribute { |
| // Regression test for https://github.com/rust-lang/rust-clippy/issues/12753 |
| #[allow(clippy::disallowed_types)] |
| use std::collections::HashMap; |
| } |