rust-clippy/tests/ui/items_after_statement.rs

70 lines
1.1 KiB
Rust

#![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;
}