mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-15 01:55:03 +00:00
32e2021b75
The items_after_statements lint was skipping all expansions. Instead we should still lint local macros. Fixes #578
40 lines
574 B
Rust
40 lines
574 B
Rust
#![warn(clippy::items_after_statements)]
|
|
|
|
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);
|
|
}
|