Add more testcases for redundant_pattern_matching

These should make sure that, when the suggestions are fixed, they are
fixed for all these cases.
This commit is contained in:
Philipp Hansch 2019-08-08 21:27:50 +02:00
parent 0d85d7e60f
commit 84716e49f0
No known key found for this signature in database
GPG Key ID: 82AA61CAA11397E6
2 changed files with 83 additions and 11 deletions

View File

@ -51,4 +51,30 @@ fn main() {
Some(_) => false,
None => true,
};
let _ = match None::<()> {
Some(_) => false,
None => true,
};
let _ = if let Ok(_) = Ok::<usize, ()>(4) { true } else { false };
let _ = does_something();
let _ = returns_unit();
}
fn does_something() -> bool {
if let Ok(_) = Ok::<i32, i32>(4) {
true
} else {
false
}
}
fn returns_unit() {
if let Ok(_) = Ok::<i32, i32>(4) {
true
} else {
false
};
}

View File

@ -1,5 +1,5 @@
error: redundant pattern matching, consider using `is_ok()`
--> $DIR/redundant_pattern_matching.rs:5:12
--> $DIR/redundant_pattern_matching.rs:6:12
|
LL | if let Ok(_) = Ok::<i32, i32>(42) {}
| -------^^^^^------------------------ help: try this: `Ok::<i32, i32>(42).is_ok()`
@ -7,25 +7,25 @@ LL | if let Ok(_) = Ok::<i32, i32>(42) {}
= note: `-D clippy::redundant-pattern-matching` implied by `-D warnings`
error: redundant pattern matching, consider using `is_err()`
--> $DIR/redundant_pattern_matching.rs:7:12
--> $DIR/redundant_pattern_matching.rs:8:12
|
LL | if let Err(_) = Err::<i32, i32>(42) {}
| -------^^^^^^------------------------- help: try this: `Err::<i32, i32>(42).is_err()`
error: redundant pattern matching, consider using `is_none()`
--> $DIR/redundant_pattern_matching.rs:9:12
--> $DIR/redundant_pattern_matching.rs:10:12
|
LL | if let None = None::<()> {}
| -------^^^^---------------- help: try this: `None::<()>.is_none()`
error: redundant pattern matching, consider using `is_some()`
--> $DIR/redundant_pattern_matching.rs:11:12
--> $DIR/redundant_pattern_matching.rs:12:12
|
LL | if let Some(_) = Some(42) {}
| -------^^^^^^^-------------- help: try this: `Some(42).is_some()`
error: redundant pattern matching, consider using `is_ok()`
--> $DIR/redundant_pattern_matching.rs:25:5
--> $DIR/redundant_pattern_matching.rs:26:5
|
LL | / match Ok::<i32, i32>(42) {
LL | | Ok(_) => true,
@ -34,7 +34,7 @@ LL | | };
| |_____^ help: try this: `Ok::<i32, i32>(42).is_ok()`
error: redundant pattern matching, consider using `is_err()`
--> $DIR/redundant_pattern_matching.rs:30:5
--> $DIR/redundant_pattern_matching.rs:31:5
|
LL | / match Ok::<i32, i32>(42) {
LL | | Ok(_) => false,
@ -43,7 +43,7 @@ LL | | };
| |_____^ help: try this: `Ok::<i32, i32>(42).is_err()`
error: redundant pattern matching, consider using `is_err()`
--> $DIR/redundant_pattern_matching.rs:35:5
--> $DIR/redundant_pattern_matching.rs:36:5
|
LL | / match Err::<i32, i32>(42) {
LL | | Ok(_) => false,
@ -52,7 +52,7 @@ LL | | };
| |_____^ help: try this: `Err::<i32, i32>(42).is_err()`
error: redundant pattern matching, consider using `is_ok()`
--> $DIR/redundant_pattern_matching.rs:40:5
--> $DIR/redundant_pattern_matching.rs:41:5
|
LL | / match Err::<i32, i32>(42) {
LL | | Ok(_) => true,
@ -61,7 +61,7 @@ LL | | };
| |_____^ help: try this: `Err::<i32, i32>(42).is_ok()`
error: redundant pattern matching, consider using `is_some()`
--> $DIR/redundant_pattern_matching.rs:45:5
--> $DIR/redundant_pattern_matching.rs:46:5
|
LL | / match Some(42) {
LL | | Some(_) => true,
@ -70,7 +70,7 @@ LL | | };
| |_____^ help: try this: `Some(42).is_some()`
error: redundant pattern matching, consider using `is_none()`
--> $DIR/redundant_pattern_matching.rs:50:5
--> $DIR/redundant_pattern_matching.rs:51:5
|
LL | / match None::<()> {
LL | | Some(_) => false,
@ -78,5 +78,51 @@ LL | | None => true,
LL | | };
| |_____^ help: try this: `None::<()>.is_none()`
error: aborting due to 10 previous errors
error: redundant pattern matching, consider using `is_none()`
--> $DIR/redundant_pattern_matching.rs:56:15
|
LL | let foo = match None::<()> {
| _______________^
LL | | Some(_) => false,
LL | | None => true,
LL | | };
| |_____^ help: try this: `None::<()>.is_none()`
error: redundant pattern matching, consider using `is_ok()`
--> $DIR/redundant_pattern_matching.rs:61:20
|
LL | let _ = if let Ok(_) = Ok::<usize, ()>(4) { true } else { false };
| -------^^^^^--------------------------------------------- help: try this: `Ok::<usize, ()>(4).is_ok()`
error: this let-binding has unit value
--> $DIR/redundant_pattern_matching.rs:64:5
|
LL | let _ = returns_unit();
| ^^^^^^^^^^^^^^^^^^^^^^^ help: omit the `let` binding: `returns_unit();`
|
= note: `-D clippy::let-unit-value` implied by `-D warnings`
error: redundant pattern matching, consider using `is_ok()`
--> $DIR/redundant_pattern_matching.rs:68:12
|
LL | if let Ok(_) = Ok::<i32, i32>(4) {
| _____- ^^^^^
LL | | true
LL | | } else {
LL | | false
LL | | }
| |_____- help: try this: `Ok::<i32, i32>(4).is_ok()`
error: redundant pattern matching, consider using `is_ok()`
--> $DIR/redundant_pattern_matching.rs:76:12
|
LL | if let Ok(_) = Ok::<i32, i32>(4) {
| _____- ^^^^^
LL | | true
LL | | } else {
LL | | false
LL | | };
| |_____- help: try this: `Ok::<i32, i32>(4).is_ok()`
error: aborting due to 15 previous errors