or-patterns: fix fallout from #664128.
This commit is contained in:
parent
0341b78044
commit
16ba5029a1
3 changed files with 22 additions and 41 deletions
|
@ -493,10 +493,8 @@ impl EarlyLintPass for UnusedParens {
|
||||||
fn check_expr(&mut self, cx: &EarlyContext<'_>, e: &ast::Expr) {
|
fn check_expr(&mut self, cx: &EarlyContext<'_>, e: &ast::Expr) {
|
||||||
use syntax::ast::ExprKind::*;
|
use syntax::ast::ExprKind::*;
|
||||||
let (value, msg, followed_by_block, left_pos, right_pos) = match e.node {
|
let (value, msg, followed_by_block, left_pos, right_pos) = match e.node {
|
||||||
Let(ref pats, ..) => {
|
Let(ref pat, ..) => {
|
||||||
for p in pats {
|
self.check_unused_parens_pat(cx, pat, false, false);
|
||||||
self.check_unused_parens_pat(cx, p, false, false);
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -594,9 +592,7 @@ impl EarlyLintPass for UnusedParens {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn check_arm(&mut self, cx: &EarlyContext<'_>, arm: &ast::Arm) {
|
fn check_arm(&mut self, cx: &EarlyContext<'_>, arm: &ast::Arm) {
|
||||||
for p in &arm.pats {
|
self.check_unused_parens_pat(cx, &arm.pat, false, false);
|
||||||
self.check_unused_parens_pat(cx, p, false, false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,10 +33,8 @@ fn or_patterns_no_lint() {
|
||||||
if let &mut (0 | 1) = &mut 0 {} // Same.
|
if let &mut (0 | 1) = &mut 0 {} // Same.
|
||||||
|
|
||||||
fn foo((Ok(a) | Err(a)): Result<u8, u8>) {} // Doesn't parse if we remove parens for now.
|
fn foo((Ok(a) | Err(a)): Result<u8, u8>) {} // Doesn't parse if we remove parens for now.
|
||||||
//~^ ERROR identifier `a` is bound more than once
|
|
||||||
|
|
||||||
let _ = |(Ok(a) | Err(a)): Result<u8, u8>| 1; // `|Ok(a) | Err(a)| 1` parses as bit-or.
|
let _ = |(Ok(a) | Err(a)): Result<u8, u8>| 1; // `|Ok(a) | Err(a)| 1` parses as bit-or.
|
||||||
//~^ ERROR identifier `a` is bound more than once
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn or_patterns_will_lint() {
|
fn or_patterns_will_lint() {
|
||||||
|
|
|
@ -1,15 +1,3 @@
|
||||||
error[E0416]: identifier `a` is bound more than once in the same pattern
|
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:35:25
|
|
||||||
|
|
|
||||||
LL | fn foo((Ok(a) | Err(a)): Result<u8, u8>) {} // Doesn't parse if we remove parens for now.
|
|
||||||
| ^ used in a pattern more than once
|
|
||||||
|
|
||||||
error[E0416]: identifier `a` is bound more than once in the same pattern
|
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:38:27
|
|
||||||
|
|
|
||||||
LL | let _ = |(Ok(a) | Err(a)): Result<u8, u8>| 1; // `|Ok(a) | Err(a)| 1` parses as bit-or.
|
|
||||||
| ^ used in a pattern more than once
|
|
||||||
|
|
||||||
warning: the feature `or_patterns` is incomplete and may cause the compiler to crash
|
warning: the feature `or_patterns` is incomplete and may cause the compiler to crash
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:3:12
|
--> $DIR/issue-54538-unused-parens-lint.rs:3:12
|
||||||
|
|
|
|
||||||
|
@ -61,113 +49,112 @@ LL | let _ = |(a): u8| 0;
|
||||||
| ^^^ help: remove these parentheses
|
| ^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:43:12
|
--> $DIR/issue-54538-unused-parens-lint.rs:41:12
|
||||||
|
|
|
|
||||||
LL | if let (0 | 1) = 0 {}
|
LL | if let (0 | 1) = 0 {}
|
||||||
| ^^^^^^^ help: remove these parentheses
|
| ^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:44:13
|
--> $DIR/issue-54538-unused-parens-lint.rs:42:13
|
||||||
|
|
|
|
||||||
LL | if let ((0 | 1),) = (0,) {}
|
LL | if let ((0 | 1),) = (0,) {}
|
||||||
| ^^^^^^^ help: remove these parentheses
|
| ^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:45:13
|
--> $DIR/issue-54538-unused-parens-lint.rs:43:13
|
||||||
|
|
|
|
||||||
LL | if let [(0 | 1)] = [0] {}
|
LL | if let [(0 | 1)] = [0] {}
|
||||||
| ^^^^^^^ help: remove these parentheses
|
| ^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:46:16
|
--> $DIR/issue-54538-unused-parens-lint.rs:44:16
|
||||||
|
|
|
|
||||||
LL | if let 0 | (1 | 2) = 0 {}
|
LL | if let 0 | (1 | 2) = 0 {}
|
||||||
| ^^^^^^^ help: remove these parentheses
|
| ^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:48:15
|
--> $DIR/issue-54538-unused-parens-lint.rs:46:15
|
||||||
|
|
|
|
||||||
LL | if let TS((0 | 1)) = TS(0) {}
|
LL | if let TS((0 | 1)) = TS(0) {}
|
||||||
| ^^^^^^^ help: remove these parentheses
|
| ^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:50:20
|
--> $DIR/issue-54538-unused-parens-lint.rs:48:20
|
||||||
|
|
|
|
||||||
LL | if let NS { f: (0 | 1) } = (NS { f: 0 }) {}
|
LL | if let NS { f: (0 | 1) } = (NS { f: 0 }) {}
|
||||||
| ^^^^^^^ help: remove these parentheses
|
| ^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:60:9
|
--> $DIR/issue-54538-unused-parens-lint.rs:58:9
|
||||||
|
|
|
|
||||||
LL | (_) => {}
|
LL | (_) => {}
|
||||||
| ^^^ help: remove these parentheses
|
| ^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:61:9
|
--> $DIR/issue-54538-unused-parens-lint.rs:59:9
|
||||||
|
|
|
|
||||||
LL | (y) => {}
|
LL | (y) => {}
|
||||||
| ^^^ help: remove these parentheses
|
| ^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:62:9
|
--> $DIR/issue-54538-unused-parens-lint.rs:60:9
|
||||||
|
|
|
|
||||||
LL | (ref r) => {}
|
LL | (ref r) => {}
|
||||||
| ^^^^^^^ help: remove these parentheses
|
| ^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:63:9
|
--> $DIR/issue-54538-unused-parens-lint.rs:61:9
|
||||||
|
|
|
|
||||||
LL | (e @ 1...2) => {}
|
LL | (e @ 1...2) => {}
|
||||||
| ^^^^^^^^^^^ help: remove these parentheses
|
| ^^^^^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:69:9
|
--> $DIR/issue-54538-unused-parens-lint.rs:67:9
|
||||||
|
|
|
|
||||||
LL | (e @ &(1...2)) => {}
|
LL | (e @ &(1...2)) => {}
|
||||||
| ^^^^^^^^^^^^^^ help: remove these parentheses
|
| ^^^^^^^^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:70:10
|
--> $DIR/issue-54538-unused-parens-lint.rs:68:10
|
||||||
|
|
|
|
||||||
LL | &(_) => {}
|
LL | &(_) => {}
|
||||||
| ^^^ help: remove these parentheses
|
| ^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:81:9
|
--> $DIR/issue-54538-unused-parens-lint.rs:79:9
|
||||||
|
|
|
|
||||||
LL | (_) => {}
|
LL | (_) => {}
|
||||||
| ^^^ help: remove these parentheses
|
| ^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:82:9
|
--> $DIR/issue-54538-unused-parens-lint.rs:80:9
|
||||||
|
|
|
|
||||||
LL | (y) => {}
|
LL | (y) => {}
|
||||||
| ^^^ help: remove these parentheses
|
| ^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:83:9
|
--> $DIR/issue-54538-unused-parens-lint.rs:81:9
|
||||||
|
|
|
|
||||||
LL | (ref r) => {}
|
LL | (ref r) => {}
|
||||||
| ^^^^^^^ help: remove these parentheses
|
| ^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:84:9
|
--> $DIR/issue-54538-unused-parens-lint.rs:82:9
|
||||||
|
|
|
|
||||||
LL | (e @ 1..=2) => {}
|
LL | (e @ 1..=2) => {}
|
||||||
| ^^^^^^^^^^^ help: remove these parentheses
|
| ^^^^^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:90:9
|
--> $DIR/issue-54538-unused-parens-lint.rs:88:9
|
||||||
|
|
|
|
||||||
LL | (e @ &(1..=2)) => {}
|
LL | (e @ &(1..=2)) => {}
|
||||||
| ^^^^^^^^^^^^^^ help: remove these parentheses
|
| ^^^^^^^^^^^^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: unnecessary parentheses around pattern
|
error: unnecessary parentheses around pattern
|
||||||
--> $DIR/issue-54538-unused-parens-lint.rs:91:10
|
--> $DIR/issue-54538-unused-parens-lint.rs:89:10
|
||||||
|
|
|
|
||||||
LL | &(_) => {}
|
LL | &(_) => {}
|
||||||
| ^^^ help: remove these parentheses
|
| ^^^ help: remove these parentheses
|
||||||
|
|
||||||
error: aborting due to 26 previous errors
|
error: aborting due to 24 previous errors
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0416`.
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue