Skip to content

Commit 16ba502

Browse files
committed
or-patterns: fix fallout from #664128.
1 parent 0341b78 commit 16ba502

File tree

3 files changed

+22
-41
lines changed

3 files changed

+22
-41
lines changed

src/librustc_lint/unused.rs

+3-7
Original file line numberDiff line numberDiff line change
@@ -493,10 +493,8 @@ impl EarlyLintPass for UnusedParens {
493493
fn check_expr(&mut self, cx: &EarlyContext<'_>, e: &ast::Expr) {
494494
use syntax::ast::ExprKind::*;
495495
let (value, msg, followed_by_block, left_pos, right_pos) = match e.node {
496-
Let(ref pats, ..) => {
497-
for p in pats {
498-
self.check_unused_parens_pat(cx, p, false, false);
499-
}
496+
Let(ref pat, ..) => {
497+
self.check_unused_parens_pat(cx, pat, false, false);
500498
return;
501499
}
502500

@@ -594,9 +592,7 @@ impl EarlyLintPass for UnusedParens {
594592
}
595593

596594
fn check_arm(&mut self, cx: &EarlyContext<'_>, arm: &ast::Arm) {
597-
for p in &arm.pats {
598-
self.check_unused_parens_pat(cx, p, false, false);
599-
}
595+
self.check_unused_parens_pat(cx, &arm.pat, false, false);
600596
}
601597
}
602598

src/test/ui/lint/issue-54538-unused-parens-lint.rs

-2
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,8 @@ fn or_patterns_no_lint() {
3333
if let &mut (0 | 1) = &mut 0 {} // Same.
3434

3535
fn foo((Ok(a) | Err(a)): Result<u8, u8>) {} // Doesn't parse if we remove parens for now.
36-
//~^ ERROR identifier `a` is bound more than once
3736

3837
let _ = |(Ok(a) | Err(a)): Result<u8, u8>| 1; // `|Ok(a) | Err(a)| 1` parses as bit-or.
39-
//~^ ERROR identifier `a` is bound more than once
4038
}
4139

4240
fn or_patterns_will_lint() {

src/test/ui/lint/issue-54538-unused-parens-lint.stderr

+19-32
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,3 @@
1-
error[E0416]: identifier `a` is bound more than once in the same pattern
2-
--> $DIR/issue-54538-unused-parens-lint.rs:35:25
3-
|
4-
LL | fn foo((Ok(a) | Err(a)): Result<u8, u8>) {} // Doesn't parse if we remove parens for now.
5-
| ^ used in a pattern more than once
6-
7-
error[E0416]: identifier `a` is bound more than once in the same pattern
8-
--> $DIR/issue-54538-unused-parens-lint.rs:38:27
9-
|
10-
LL | let _ = |(Ok(a) | Err(a)): Result<u8, u8>| 1; // `|Ok(a) | Err(a)| 1` parses as bit-or.
11-
| ^ used in a pattern more than once
12-
131
warning: the feature `or_patterns` is incomplete and may cause the compiler to crash
142
--> $DIR/issue-54538-unused-parens-lint.rs:3:12
153
|
@@ -61,113 +49,112 @@ LL | let _ = |(a): u8| 0;
6149
| ^^^ help: remove these parentheses
6250

6351
error: unnecessary parentheses around pattern
64-
--> $DIR/issue-54538-unused-parens-lint.rs:43:12
52+
--> $DIR/issue-54538-unused-parens-lint.rs:41:12
6553
|
6654
LL | if let (0 | 1) = 0 {}
6755
| ^^^^^^^ help: remove these parentheses
6856

6957
error: unnecessary parentheses around pattern
70-
--> $DIR/issue-54538-unused-parens-lint.rs:44:13
58+
--> $DIR/issue-54538-unused-parens-lint.rs:42:13
7159
|
7260
LL | if let ((0 | 1),) = (0,) {}
7361
| ^^^^^^^ help: remove these parentheses
7462

7563
error: unnecessary parentheses around pattern
76-
--> $DIR/issue-54538-unused-parens-lint.rs:45:13
64+
--> $DIR/issue-54538-unused-parens-lint.rs:43:13
7765
|
7866
LL | if let [(0 | 1)] = [0] {}
7967
| ^^^^^^^ help: remove these parentheses
8068

8169
error: unnecessary parentheses around pattern
82-
--> $DIR/issue-54538-unused-parens-lint.rs:46:16
70+
--> $DIR/issue-54538-unused-parens-lint.rs:44:16
8371
|
8472
LL | if let 0 | (1 | 2) = 0 {}
8573
| ^^^^^^^ help: remove these parentheses
8674

8775
error: unnecessary parentheses around pattern
88-
--> $DIR/issue-54538-unused-parens-lint.rs:48:15
76+
--> $DIR/issue-54538-unused-parens-lint.rs:46:15
8977
|
9078
LL | if let TS((0 | 1)) = TS(0) {}
9179
| ^^^^^^^ help: remove these parentheses
9280

9381
error: unnecessary parentheses around pattern
94-
--> $DIR/issue-54538-unused-parens-lint.rs:50:20
82+
--> $DIR/issue-54538-unused-parens-lint.rs:48:20
9583
|
9684
LL | if let NS { f: (0 | 1) } = (NS { f: 0 }) {}
9785
| ^^^^^^^ help: remove these parentheses
9886

9987
error: unnecessary parentheses around pattern
100-
--> $DIR/issue-54538-unused-parens-lint.rs:60:9
88+
--> $DIR/issue-54538-unused-parens-lint.rs:58:9
10189
|
10290
LL | (_) => {}
10391
| ^^^ help: remove these parentheses
10492

10593
error: unnecessary parentheses around pattern
106-
--> $DIR/issue-54538-unused-parens-lint.rs:61:9
94+
--> $DIR/issue-54538-unused-parens-lint.rs:59:9
10795
|
10896
LL | (y) => {}
10997
| ^^^ help: remove these parentheses
11098

11199
error: unnecessary parentheses around pattern
112-
--> $DIR/issue-54538-unused-parens-lint.rs:62:9
100+
--> $DIR/issue-54538-unused-parens-lint.rs:60:9
113101
|
114102
LL | (ref r) => {}
115103
| ^^^^^^^ help: remove these parentheses
116104

117105
error: unnecessary parentheses around pattern
118-
--> $DIR/issue-54538-unused-parens-lint.rs:63:9
106+
--> $DIR/issue-54538-unused-parens-lint.rs:61:9
119107
|
120108
LL | (e @ 1...2) => {}
121109
| ^^^^^^^^^^^ help: remove these parentheses
122110

123111
error: unnecessary parentheses around pattern
124-
--> $DIR/issue-54538-unused-parens-lint.rs:69:9
112+
--> $DIR/issue-54538-unused-parens-lint.rs:67:9
125113
|
126114
LL | (e @ &(1...2)) => {}
127115
| ^^^^^^^^^^^^^^ help: remove these parentheses
128116

129117
error: unnecessary parentheses around pattern
130-
--> $DIR/issue-54538-unused-parens-lint.rs:70:10
118+
--> $DIR/issue-54538-unused-parens-lint.rs:68:10
131119
|
132120
LL | &(_) => {}
133121
| ^^^ help: remove these parentheses
134122

135123
error: unnecessary parentheses around pattern
136-
--> $DIR/issue-54538-unused-parens-lint.rs:81:9
124+
--> $DIR/issue-54538-unused-parens-lint.rs:79:9
137125
|
138126
LL | (_) => {}
139127
| ^^^ help: remove these parentheses
140128

141129
error: unnecessary parentheses around pattern
142-
--> $DIR/issue-54538-unused-parens-lint.rs:82:9
130+
--> $DIR/issue-54538-unused-parens-lint.rs:80:9
143131
|
144132
LL | (y) => {}
145133
| ^^^ help: remove these parentheses
146134

147135
error: unnecessary parentheses around pattern
148-
--> $DIR/issue-54538-unused-parens-lint.rs:83:9
136+
--> $DIR/issue-54538-unused-parens-lint.rs:81:9
149137
|
150138
LL | (ref r) => {}
151139
| ^^^^^^^ help: remove these parentheses
152140

153141
error: unnecessary parentheses around pattern
154-
--> $DIR/issue-54538-unused-parens-lint.rs:84:9
142+
--> $DIR/issue-54538-unused-parens-lint.rs:82:9
155143
|
156144
LL | (e @ 1..=2) => {}
157145
| ^^^^^^^^^^^ help: remove these parentheses
158146

159147
error: unnecessary parentheses around pattern
160-
--> $DIR/issue-54538-unused-parens-lint.rs:90:9
148+
--> $DIR/issue-54538-unused-parens-lint.rs:88:9
161149
|
162150
LL | (e @ &(1..=2)) => {}
163151
| ^^^^^^^^^^^^^^ help: remove these parentheses
164152

165153
error: unnecessary parentheses around pattern
166-
--> $DIR/issue-54538-unused-parens-lint.rs:91:10
154+
--> $DIR/issue-54538-unused-parens-lint.rs:89:10
167155
|
168156
LL | &(_) => {}
169157
| ^^^ help: remove these parentheses
170158

171-
error: aborting due to 26 previous errors
159+
error: aborting due to 24 previous errors
172160

173-
For more information about this error, try `rustc --explain E0416`.

0 commit comments

Comments
 (0)