diff options
Diffstat (limited to 'src/tools/clippy/tests/ui/items_after_statement.rs')
-rw-r--r-- | src/tools/clippy/tests/ui/items_after_statement.rs | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/items_after_statement.rs b/src/tools/clippy/tests/ui/items_after_statement.rs new file mode 100644 index 000000000..f12cb8f22 --- /dev/null +++ b/src/tools/clippy/tests/ui/items_after_statement.rs @@ -0,0 +1,70 @@ +#![warn(clippy::items_after_statements)] +#![allow(clippy::uninlined_format_args)] + +fn ok() { + fn foo() { + println!("foo"); + } + foo(); +} + +fn last() { + foo(); + fn foo() { + println!("foo"); + } +} + +fn main() { + foo(); + fn foo() { + println!("foo"); + } + foo(); +} + +fn mac() { + let mut a = 5; + println!("{}", a); + // do not lint this, because it needs to be after `a` + macro_rules! b { + () => {{ + a = 6; + fn say_something() { + println!("something"); + } + }}; + } + b!(); + println!("{}", a); +} + +fn semicolon() { + struct S { + a: u32, + }; + impl S { + fn new(a: u32) -> Self { + Self { a } + } + } + + let _ = S::new(3); +} + +fn item_from_macro() { + macro_rules! static_assert_size { + ($ty:ty, $size:expr) => { + const _: [(); $size] = [(); ::std::mem::size_of::<$ty>()]; + }; + } + + let _ = 1; + static_assert_size!(u32, 4); +} + +fn allow_attribute() { + let _ = 1; + #[allow(clippy::items_after_statements)] + const _: usize = 1; +} |