| //@aux-build:proc_macros.rs |
| #![warn(clippy::toplevel_ref_arg)] |
| #![allow(clippy::uninlined_format_args, unused)] |
| extern crate proc_macros; |
| use proc_macros::{external, inline_macros}; |
| // Closures should not warn |
| let y = |ref x| println!("{:?}", x); |
| let ref _y: (&_, u8) = (&1, 2); |
| let (ref x, _) = (1, 2); // ok, not top level |
| println!("The answer is {}.", x); |
| let ref _x = vec![1, 2, 3]; |
| // Make sure that allowing the lint works |
| #[allow(clippy::toplevel_ref_arg)] |
| let ref mut _x = 1_234_543; |
| inline!(let ref _y = 42;); |
| // do not lint in external macro |
| external!(let ref _y = 42;); |