// 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 }