add tests for unused_braces

This commit is contained in:
Bastian Kauschke 2020-03-27 21:56:58 +01:00
parent 698b20eeda
commit bcf35b1d80
6 changed files with 134 additions and 0 deletions

View File

@ -0,0 +1,13 @@
// check-pass
#![warn(unused_braces)]
#![feature(const_generics)]
//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash
struct A<const N: usize>;
fn main() {
let _: A<7>; // ok
let _: A<{ 7 }>; //~ WARN unnecessary braces
let _: A<{ 3 + 5 }>; // ok
}

View File

@ -0,0 +1,20 @@
warning: the feature `const_generics` is incomplete and may cause the compiler to crash
--> $DIR/unused_braces.rs:4:12
|
LL | #![feature(const_generics)]
| ^^^^^^^^^^^^^^
|
= note: `#[warn(incomplete_features)]` on by default
warning: unnecessary braces around const expression
--> $DIR/unused_braces.rs:11:14
|
LL | let _: A<{ 7 }>;
| ^^^^^ help: remove these braces
|
note: the lint level is defined here
--> $DIR/unused_braces.rs:2:9
|
LL | #![warn(unused_braces)]
| ^^^^^^^^^^^^^

View File

@ -0,0 +1,31 @@
// check-pass
#![warn(unused_braces, unused_parens)]
fn main() {
let _ = (7);
//~^WARN unnecessary parentheses
let _ = { 7 };
//~^ WARN unnecessary braces
if let 7 = { 7 } {
//~^ WARN unnecessary braces
}
let _: [u8; { 3 }];
//~^ WARN unnecessary braces
// do not emit error for multiline blocks.
let _ = {
7
};
// do not emit error for unsafe blocks.
let _ = unsafe { 7 };
// do not emit error, as the `{` would then
// be parsed as part of the `return`.
if { return } {
}
}

View File

@ -0,0 +1,36 @@
warning: unnecessary parentheses around assigned value
--> $DIR/unused_braces.rs:5:13
|
LL | let _ = (7);
| ^^^ help: remove these parentheses
|
note: the lint level is defined here
--> $DIR/unused_braces.rs:2:24
|
LL | #![warn(unused_braces, unused_parens)]
| ^^^^^^^^^^^^^
warning: unnecessary braces around assigned value
--> $DIR/unused_braces.rs:8:13
|
LL | let _ = { 7 };
| ^^^^^ help: remove these braces
|
note: the lint level is defined here
--> $DIR/unused_braces.rs:2:9
|
LL | #![warn(unused_braces, unused_parens)]
| ^^^^^^^^^^^^^
warning: unnecessary braces around `let` head expression
--> $DIR/unused_braces.rs:11:16
|
LL | if let 7 = { 7 } {
| ^^^^^ help: remove these braces
warning: unnecessary braces around const expression
--> $DIR/unused_braces.rs:15:17
|
LL | let _: [u8; { 3 }];
| ^^^^^ help: remove these braces

View File

@ -0,0 +1,22 @@
// check-pass
#![warn(unused_braces)]
// changing `&{ expr }` to `&expr` changes the semantic of the program
// so we should not warn this case
#[repr(packed)]
struct A {
a: u8,
b: u32,
}
fn main() {
let a = A {
a: 42,
b: 1729,
};
let _ = &{ a.b };
let _ = { a.b };
//~^ WARN unnecessary braces
}

View File

@ -0,0 +1,12 @@
warning: unnecessary braces around assigned value
--> $DIR/unused_parens_borrow.rs:20:13
|
LL | let _ = { a.b };
| ^^^^^^^ help: remove these braces
|
note: the lint level is defined here
--> $DIR/unused_parens_borrow.rs:2:9
|
LL | #![warn(unused_braces)]
| ^^^^^^^^^^^^^