// check-pass // run-rustfix #![warn(unused_braces, unused_parens)] #![allow(unreachable_code, unused_unsafe)] // for rustfix fn consume(_: T) {} fn main() { let _ = 7; //~^WARN unnecessary parentheses // Do not emit a lint in these cases, // as we have to be careful with // `ref` patterns. { let _ = { 7 }; if let 7 = { 7 } { } match { 7 } { _ => (), } } if true { //~^ WARN unnecessary braces } while false { //~^ WARN unnecessary braces } let _: [u8; 3]; //~^ WARN unnecessary braces consume(7); //~^ WARN unnecessary braces // Do not emit lint for multiline blocks. let _ = { 7 }; // Do not emit lint for unsafe blocks. let _ = unsafe { 7 }; // Do not emit lint, as the `{` would then // be parsed as part of the `return`. if { return } { } // regression test for https://github.com/rust-lang/rust/issues/106899 return println!("!"); //~^ WARN unnecessary braces }