Skip to content

Commit bf13861

Browse files
authored
Rollup merge of #68751 - Tyg13:unused_parens_const_static, r=Centril
Implement `unused_parens` for `const` and `static` items Fixes #67942
2 parents a1478b7 + d8cf950 commit bf13861

File tree

4 files changed

+36
-12
lines changed

4 files changed

+36
-12
lines changed

src/librustc_lint/unused.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,14 @@ impl EarlyLintPass for UnusedParens {
587587
}
588588
}
589589
}
590+
591+
fn check_item(&mut self, cx: &EarlyContext<'_>, item: &ast::Item) {
592+
use ast::ItemKind::*;
593+
594+
if let Const(.., ref expr) | Static(.., ref expr) = item.kind {
595+
self.check_unused_parens_expr(cx, expr, "assigned value", false, None, None);
596+
}
597+
}
590598
}
591599

592600
declare_lint! {

src/test/ui/lint/lint-unnecessary-parens.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ macro_rules! baz {
3838
}
3939
}
4040

41+
const CONST_ITEM: usize = (10); //~ ERROR unnecessary parentheses around assigned value
42+
static STATIC_ITEM: usize = (10); //~ ERROR unnecessary parentheses around assigned value
43+
4144
fn main() {
4245
foo();
4346
bar((true)); //~ ERROR unnecessary parentheses around function argument

src/test/ui/lint/lint-unnecessary-parens.stderr

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,73 +34,85 @@ error: unnecessary parentheses around block return value
3434
LL | (5)
3535
| ^^^ help: remove these parentheses
3636

37+
error: unnecessary parentheses around assigned value
38+
--> $DIR/lint-unnecessary-parens.rs:41:27
39+
|
40+
LL | const CONST_ITEM: usize = (10);
41+
| ^^^^ help: remove these parentheses
42+
43+
error: unnecessary parentheses around assigned value
44+
--> $DIR/lint-unnecessary-parens.rs:42:29
45+
|
46+
LL | static STATIC_ITEM: usize = (10);
47+
| ^^^^ help: remove these parentheses
48+
3749
error: unnecessary parentheses around function argument
38-
--> $DIR/lint-unnecessary-parens.rs:43:9
50+
--> $DIR/lint-unnecessary-parens.rs:46:9
3951
|
4052
LL | bar((true));
4153
| ^^^^^^ help: remove these parentheses
4254

4355
error: unnecessary parentheses around `if` condition
44-
--> $DIR/lint-unnecessary-parens.rs:45:8
56+
--> $DIR/lint-unnecessary-parens.rs:48:8
4557
|
4658
LL | if (true) {}
4759
| ^^^^^^ help: remove these parentheses
4860

4961
error: unnecessary parentheses around `while` condition
50-
--> $DIR/lint-unnecessary-parens.rs:46:11
62+
--> $DIR/lint-unnecessary-parens.rs:49:11
5163
|
5264
LL | while (true) {}
5365
| ^^^^^^ help: remove these parentheses
5466

5567
warning: denote infinite loops with `loop { ... }`
56-
--> $DIR/lint-unnecessary-parens.rs:46:5
68+
--> $DIR/lint-unnecessary-parens.rs:49:5
5769
|
5870
LL | while (true) {}
5971
| ^^^^^^^^^^^^ help: use `loop`
6072
|
6173
= note: `#[warn(while_true)]` on by default
6274

6375
error: unnecessary parentheses around `match` head expression
64-
--> $DIR/lint-unnecessary-parens.rs:48:11
76+
--> $DIR/lint-unnecessary-parens.rs:51:11
6577
|
6678
LL | match (true) {
6779
| ^^^^^^ help: remove these parentheses
6880

6981
error: unnecessary parentheses around `let` head expression
70-
--> $DIR/lint-unnecessary-parens.rs:51:16
82+
--> $DIR/lint-unnecessary-parens.rs:54:16
7183
|
7284
LL | if let 1 = (1) {}
7385
| ^^^ help: remove these parentheses
7486

7587
error: unnecessary parentheses around `let` head expression
76-
--> $DIR/lint-unnecessary-parens.rs:52:19
88+
--> $DIR/lint-unnecessary-parens.rs:55:19
7789
|
7890
LL | while let 1 = (2) {}
7991
| ^^^ help: remove these parentheses
8092

8193
error: unnecessary parentheses around method argument
82-
--> $DIR/lint-unnecessary-parens.rs:66:24
94+
--> $DIR/lint-unnecessary-parens.rs:69:24
8395
|
8496
LL | X { y: false }.foo((true));
8597
| ^^^^^^ help: remove these parentheses
8698

8799
error: unnecessary parentheses around assigned value
88-
--> $DIR/lint-unnecessary-parens.rs:68:18
100+
--> $DIR/lint-unnecessary-parens.rs:71:18
89101
|
90102
LL | let mut _a = (0);
91103
| ^^^ help: remove these parentheses
92104

93105
error: unnecessary parentheses around assigned value
94-
--> $DIR/lint-unnecessary-parens.rs:69:10
106+
--> $DIR/lint-unnecessary-parens.rs:72:10
95107
|
96108
LL | _a = (0);
97109
| ^^^ help: remove these parentheses
98110

99111
error: unnecessary parentheses around assigned value
100-
--> $DIR/lint-unnecessary-parens.rs:70:11
112+
--> $DIR/lint-unnecessary-parens.rs:73:11
101113
|
102114
LL | _a += (1);
103115
| ^^^ help: remove these parentheses
104116

105-
error: aborting due to 15 previous errors
117+
error: aborting due to 17 previous errors
106118

src/test/ui/super-fast-paren-parsing.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// run-pass
22

3+
#![allow(unused_parens)]
34
#![allow(non_upper_case_globals)]
45
#![allow(dead_code)]
56
// exec-env:RUST_MIN_STACK=16000000

0 commit comments

Comments
 (0)