diff options
Diffstat (limited to 'tests/ui/lint/unused_braces.rs')
-rw-r--r-- | tests/ui/lint/unused_braces.rs | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/ui/lint/unused_braces.rs b/tests/ui/lint/unused_braces.rs new file mode 100644 index 000000000..0d260d2cb --- /dev/null +++ b/tests/ui/lint/unused_braces.rs @@ -0,0 +1,57 @@ +// check-pass +// run-rustfix + +#![warn(unused_braces, unused_parens)] +#![allow(unreachable_code, unused_unsafe)] // for rustfix + +fn consume<T>(_: 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 +} |