rust/tests/ui/items_after_statement.rs

71 lines
1.1 KiB
Rust
Raw Normal View History

2018-07-28 10:34:52 -05:00
#![warn(clippy::items_after_statements)]
#![allow(clippy::uninlined_format_args)]
2016-01-24 03:16:56 -06:00
fn ok() {
2018-12-09 16:26:16 -06:00
fn foo() {
println!("foo");
}
foo();
}
fn last() {
foo();
2018-12-09 16:26:16 -06:00
fn foo() {
println!("foo");
}
}
2016-01-24 03:16:56 -06:00
fn main() {
foo();
2018-12-09 16:26:16 -06:00
fn foo() {
println!("foo");
}
2016-01-24 03:16:56 -06:00
foo();
}
fn mac() {
let mut a = 5;
println!("{}", a);
// do not lint this, because it needs to be after `a`
macro_rules! b {
2018-12-09 16:26:16 -06:00
() => {{
a = 6;
fn say_something() {
println!("something");
}
2018-12-09 16:26:16 -06:00
}};
}
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;
}