Fix missing leading space in suggestion

For a local pattern with no space between `let` and `(` e.g.:

  let(_a) = 3;

we were previously suggesting this illegal code:

  let_a =3;

After this change the suggestion will instead be:

  let _a =3;

(Note the space after `let`)
This commit is contained in:
Gurinder Singh 2023-10-30 19:04:55 +05:30
parent 91bbdd927a
commit a2486dba3b
4 changed files with 90 additions and 2 deletions

View File

@ -1154,7 +1154,7 @@ impl EarlyLintPass for UnusedParens {
fn check_stmt(&mut self, cx: &EarlyContext<'_>, s: &ast::Stmt) {
if let StmtKind::Local(ref local) = s.kind {
self.check_unused_parens_pat(cx, &local.pat, true, false, (false, false));
self.check_unused_parens_pat(cx, &local.pat, true, false, (true, false));
}
<Self as UnusedDelimLint>::check_stmt(self, cx, s)

View File

@ -84,6 +84,14 @@ fn main() {
_a = 0; //~ ERROR unnecessary parentheses around assigned value
_a += 1; //~ ERROR unnecessary parentheses around assigned value
let mut _a = 3; //~ ERROR unnecessary parentheses around pattern
let mut _a = 3; //~ ERROR unnecessary parentheses around pattern
let mut _a = 3; //~ ERROR unnecessary parentheses around pattern
let _a = 3; //~ ERROR unnecessary parentheses around pattern
let _a = 3; //~ ERROR unnecessary parentheses around pattern
let _a = 3; //~ ERROR unnecessary parentheses around pattern
let _a = baz!(3, 4);
let _b = baz!(3);
}

View File

@ -84,6 +84,14 @@ fn main() {
_a = (0); //~ ERROR unnecessary parentheses around assigned value
_a += (1); //~ ERROR unnecessary parentheses around assigned value
let(mut _a) = 3; //~ ERROR unnecessary parentheses around pattern
let (mut _a) = 3; //~ ERROR unnecessary parentheses around pattern
let( mut _a) = 3; //~ ERROR unnecessary parentheses around pattern
let(_a) = 3; //~ ERROR unnecessary parentheses around pattern
let (_a) = 3; //~ ERROR unnecessary parentheses around pattern
let( _a) = 3; //~ ERROR unnecessary parentheses around pattern
let _a = baz!(3, 4);
let _b = baz!(3);
}

View File

@ -267,5 +267,77 @@ LL - _a += (1);
LL + _a += 1;
|
error: aborting due to 22 previous errors
error: unnecessary parentheses around pattern
--> $DIR/lint-unnecessary-parens.rs:87:8
|
LL | let(mut _a) = 3;
| ^ ^
|
help: remove these parentheses
|
LL - let(mut _a) = 3;
LL + let mut _a = 3;
|
error: unnecessary parentheses around pattern
--> $DIR/lint-unnecessary-parens.rs:88:9
|
LL | let (mut _a) = 3;
| ^ ^
|
help: remove these parentheses
|
LL - let (mut _a) = 3;
LL + let mut _a = 3;
|
error: unnecessary parentheses around pattern
--> $DIR/lint-unnecessary-parens.rs:89:8
|
LL | let( mut _a) = 3;
| ^^ ^
|
help: remove these parentheses
|
LL - let( mut _a) = 3;
LL + let mut _a = 3;
|
error: unnecessary parentheses around pattern
--> $DIR/lint-unnecessary-parens.rs:91:8
|
LL | let(_a) = 3;
| ^ ^
|
help: remove these parentheses
|
LL - let(_a) = 3;
LL + let _a = 3;
|
error: unnecessary parentheses around pattern
--> $DIR/lint-unnecessary-parens.rs:92:9
|
LL | let (_a) = 3;
| ^ ^
|
help: remove these parentheses
|
LL - let (_a) = 3;
LL + let _a = 3;
|
error: unnecessary parentheses around pattern
--> $DIR/lint-unnecessary-parens.rs:93:8
|
LL | let( _a) = 3;
| ^^ ^
|
help: remove these parentheses
|
LL - let( _a) = 3;
LL + let _a = 3;
|
error: aborting due to 28 previous errors