Improve redundant_pattern_matching
Add a note when the drop order change may result in different behaviour.
This commit is contained in:
parent
586a99348c
commit
b6581636bd
13 changed files with 579 additions and 89 deletions
58
tests/ui/redundant_pattern_matching_drop_order.fixed
Normal file
58
tests/ui/redundant_pattern_matching_drop_order.fixed
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
// run-rustfix
|
||||
|
||||
// Issue #5746
|
||||
#![warn(clippy::redundant_pattern_matching)]
|
||||
#![allow(clippy::if_same_then_else)]
|
||||
use std::task::Poll::{Pending, Ready};
|
||||
|
||||
fn main() {
|
||||
let m = std::sync::Mutex::new((0, 0));
|
||||
|
||||
// Result
|
||||
if m.lock().is_ok() {}
|
||||
if Err::<(), _>(m.lock().unwrap().0).is_err() {}
|
||||
|
||||
{
|
||||
if Ok::<_, std::sync::MutexGuard<()>>(()).is_ok() {}
|
||||
}
|
||||
if Ok::<_, std::sync::MutexGuard<()>>(()).is_ok() {
|
||||
} else {
|
||||
}
|
||||
if Ok::<_, std::sync::MutexGuard<()>>(()).is_ok() {}
|
||||
if Err::<std::sync::MutexGuard<()>, _>(()).is_err() {}
|
||||
|
||||
if Ok::<_, ()>(String::new()).is_ok() {}
|
||||
if Err::<(), _>((String::new(), ())).is_err() {}
|
||||
|
||||
// Option
|
||||
if Some(m.lock()).is_some() {}
|
||||
if Some(m.lock().unwrap().0).is_some() {}
|
||||
|
||||
{
|
||||
if None::<std::sync::MutexGuard<()>>.is_none() {}
|
||||
}
|
||||
if None::<std::sync::MutexGuard<()>>.is_none() {
|
||||
} else {
|
||||
}
|
||||
|
||||
if None::<std::sync::MutexGuard<()>>.is_none() {}
|
||||
|
||||
if Some(String::new()).is_some() {}
|
||||
if Some((String::new(), ())).is_some() {}
|
||||
|
||||
// Poll
|
||||
if Ready(m.lock()).is_ready() {}
|
||||
if Ready(m.lock().unwrap().0).is_ready() {}
|
||||
|
||||
{
|
||||
if Pending::<std::sync::MutexGuard<()>>.is_pending() {}
|
||||
}
|
||||
if Pending::<std::sync::MutexGuard<()>>.is_pending() {
|
||||
} else {
|
||||
}
|
||||
|
||||
if Pending::<std::sync::MutexGuard<()>>.is_pending() {}
|
||||
|
||||
if Ready(String::new()).is_ready() {}
|
||||
if Ready((String::new(), ())).is_ready() {}
|
||||
}
|
||||
58
tests/ui/redundant_pattern_matching_drop_order.rs
Normal file
58
tests/ui/redundant_pattern_matching_drop_order.rs
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
// run-rustfix
|
||||
|
||||
// Issue #5746
|
||||
#![warn(clippy::redundant_pattern_matching)]
|
||||
#![allow(clippy::if_same_then_else)]
|
||||
use std::task::Poll::{Pending, Ready};
|
||||
|
||||
fn main() {
|
||||
let m = std::sync::Mutex::new((0, 0));
|
||||
|
||||
// Result
|
||||
if let Ok(_) = m.lock() {}
|
||||
if let Err(_) = Err::<(), _>(m.lock().unwrap().0) {}
|
||||
|
||||
{
|
||||
if let Ok(_) = Ok::<_, std::sync::MutexGuard<()>>(()) {}
|
||||
}
|
||||
if let Ok(_) = Ok::<_, std::sync::MutexGuard<()>>(()) {
|
||||
} else {
|
||||
}
|
||||
if let Ok(_) = Ok::<_, std::sync::MutexGuard<()>>(()) {}
|
||||
if let Err(_) = Err::<std::sync::MutexGuard<()>, _>(()) {}
|
||||
|
||||
if let Ok(_) = Ok::<_, ()>(String::new()) {}
|
||||
if let Err(_) = Err::<(), _>((String::new(), ())) {}
|
||||
|
||||
// Option
|
||||
if let Some(_) = Some(m.lock()) {}
|
||||
if let Some(_) = Some(m.lock().unwrap().0) {}
|
||||
|
||||
{
|
||||
if let None = None::<std::sync::MutexGuard<()>> {}
|
||||
}
|
||||
if let None = None::<std::sync::MutexGuard<()>> {
|
||||
} else {
|
||||
}
|
||||
|
||||
if let None = None::<std::sync::MutexGuard<()>> {}
|
||||
|
||||
if let Some(_) = Some(String::new()) {}
|
||||
if let Some(_) = Some((String::new(), ())) {}
|
||||
|
||||
// Poll
|
||||
if let Ready(_) = Ready(m.lock()) {}
|
||||
if let Ready(_) = Ready(m.lock().unwrap().0) {}
|
||||
|
||||
{
|
||||
if let Pending = Pending::<std::sync::MutexGuard<()>> {}
|
||||
}
|
||||
if let Pending = Pending::<std::sync::MutexGuard<()>> {
|
||||
} else {
|
||||
}
|
||||
|
||||
if let Pending = Pending::<std::sync::MutexGuard<()>> {}
|
||||
|
||||
if let Ready(_) = Ready(String::new()) {}
|
||||
if let Ready(_) = Ready((String::new(), ())) {}
|
||||
}
|
||||
171
tests/ui/redundant_pattern_matching_drop_order.stderr
Normal file
171
tests/ui/redundant_pattern_matching_drop_order.stderr
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:12:12
|
||||
|
|
||||
LL | if let Ok(_) = m.lock() {}
|
||||
| -------^^^^^----------- help: try this: `if m.lock().is_ok()`
|
||||
|
|
||||
= note: `-D clippy::redundant-pattern-matching` implied by `-D warnings`
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:13:12
|
||||
|
|
||||
LL | if let Err(_) = Err::<(), _>(m.lock().unwrap().0) {}
|
||||
| -------^^^^^^------------------------------------ help: try this: `if Err::<(), _>(m.lock().unwrap().0).is_err()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:16:16
|
||||
|
|
||||
LL | if let Ok(_) = Ok::<_, std::sync::MutexGuard<()>>(()) {}
|
||||
| -------^^^^^----------------------------------------- help: try this: `if Ok::<_, std::sync::MutexGuard<()>>(()).is_ok()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:18:12
|
||||
|
|
||||
LL | if let Ok(_) = Ok::<_, std::sync::MutexGuard<()>>(()) {
|
||||
| -------^^^^^----------------------------------------- help: try this: `if Ok::<_, std::sync::MutexGuard<()>>(()).is_ok()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:21:12
|
||||
|
|
||||
LL | if let Ok(_) = Ok::<_, std::sync::MutexGuard<()>>(()) {}
|
||||
| -------^^^^^----------------------------------------- help: try this: `if Ok::<_, std::sync::MutexGuard<()>>(()).is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:22:12
|
||||
|
|
||||
LL | if let Err(_) = Err::<std::sync::MutexGuard<()>, _>(()) {}
|
||||
| -------^^^^^^------------------------------------------ help: try this: `if Err::<std::sync::MutexGuard<()>, _>(()).is_err()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:24:12
|
||||
|
|
||||
LL | if let Ok(_) = Ok::<_, ()>(String::new()) {}
|
||||
| -------^^^^^----------------------------- help: try this: `if Ok::<_, ()>(String::new()).is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:25:12
|
||||
|
|
||||
LL | if let Err(_) = Err::<(), _>((String::new(), ())) {}
|
||||
| -------^^^^^^------------------------------------ help: try this: `if Err::<(), _>((String::new(), ())).is_err()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:28:12
|
||||
|
|
||||
LL | if let Some(_) = Some(m.lock()) {}
|
||||
| -------^^^^^^^----------------- help: try this: `if Some(m.lock()).is_some()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:29:12
|
||||
|
|
||||
LL | if let Some(_) = Some(m.lock().unwrap().0) {}
|
||||
| -------^^^^^^^---------------------------- help: try this: `if Some(m.lock().unwrap().0).is_some()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:32:16
|
||||
|
|
||||
LL | if let None = None::<std::sync::MutexGuard<()>> {}
|
||||
| -------^^^^------------------------------------ help: try this: `if None::<std::sync::MutexGuard<()>>.is_none()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:34:12
|
||||
|
|
||||
LL | if let None = None::<std::sync::MutexGuard<()>> {
|
||||
| -------^^^^------------------------------------ help: try this: `if None::<std::sync::MutexGuard<()>>.is_none()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:38:12
|
||||
|
|
||||
LL | if let None = None::<std::sync::MutexGuard<()>> {}
|
||||
| -------^^^^------------------------------------ help: try this: `if None::<std::sync::MutexGuard<()>>.is_none()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:40:12
|
||||
|
|
||||
LL | if let Some(_) = Some(String::new()) {}
|
||||
| -------^^^^^^^---------------------- help: try this: `if Some(String::new()).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:41:12
|
||||
|
|
||||
LL | if let Some(_) = Some((String::new(), ())) {}
|
||||
| -------^^^^^^^---------------------------- help: try this: `if Some((String::new(), ())).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:44:12
|
||||
|
|
||||
LL | if let Ready(_) = Ready(m.lock()) {}
|
||||
| -------^^^^^^^^------------------ help: try this: `if Ready(m.lock()).is_ready()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:45:12
|
||||
|
|
||||
LL | if let Ready(_) = Ready(m.lock().unwrap().0) {}
|
||||
| -------^^^^^^^^----------------------------- help: try this: `if Ready(m.lock().unwrap().0).is_ready()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:48:16
|
||||
|
|
||||
LL | if let Pending = Pending::<std::sync::MutexGuard<()>> {}
|
||||
| -------^^^^^^^--------------------------------------- help: try this: `if Pending::<std::sync::MutexGuard<()>>.is_pending()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:50:12
|
||||
|
|
||||
LL | if let Pending = Pending::<std::sync::MutexGuard<()>> {
|
||||
| -------^^^^^^^--------------------------------------- help: try this: `if Pending::<std::sync::MutexGuard<()>>.is_pending()`
|
||||
|
|
||||
= note: this will change drop order of the result, as well as all temporaries
|
||||
= note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:54:12
|
||||
|
|
||||
LL | if let Pending = Pending::<std::sync::MutexGuard<()>> {}
|
||||
| -------^^^^^^^--------------------------------------- help: try this: `if Pending::<std::sync::MutexGuard<()>>.is_pending()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:56:12
|
||||
|
|
||||
LL | if let Ready(_) = Ready(String::new()) {}
|
||||
| -------^^^^^^^^----------------------- help: try this: `if Ready(String::new()).is_ready()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_drop_order.rs:57:12
|
||||
|
|
||||
LL | if let Ready(_) = Ready((String::new(), ())) {}
|
||||
| -------^^^^^^^^----------------------------- help: try this: `if Ready((String::new(), ())).is_ready()`
|
||||
|
||||
error: aborting due to 22 previous errors
|
||||
|
||||
|
|
@ -2,7 +2,12 @@
|
|||
|
||||
#![warn(clippy::all)]
|
||||
#![warn(clippy::redundant_pattern_matching)]
|
||||
#![allow(unused_must_use, clippy::needless_bool, clippy::match_like_matches_macro)]
|
||||
#![allow(
|
||||
unused_must_use,
|
||||
clippy::needless_bool,
|
||||
clippy::match_like_matches_macro,
|
||||
clippy::if_same_then_else
|
||||
)]
|
||||
|
||||
fn main() {
|
||||
if None::<()>.is_none() {}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,12 @@
|
|||
|
||||
#![warn(clippy::all)]
|
||||
#![warn(clippy::redundant_pattern_matching)]
|
||||
#![allow(unused_must_use, clippy::needless_bool, clippy::match_like_matches_macro)]
|
||||
#![allow(
|
||||
unused_must_use,
|
||||
clippy::needless_bool,
|
||||
clippy::match_like_matches_macro,
|
||||
clippy::if_same_then_else
|
||||
)]
|
||||
|
||||
fn main() {
|
||||
if let None = None::<()> {}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:8:12
|
||||
--> $DIR/redundant_pattern_matching_option.rs:13:12
|
||||
|
|
||||
LL | if let None = None::<()> {}
|
||||
| -------^^^^------------- help: try this: `if None::<()>.is_none()`
|
||||
|
|
@ -7,43 +7,43 @@ LL | if let None = None::<()> {}
|
|||
= note: `-D clippy::redundant-pattern-matching` implied by `-D warnings`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:10:12
|
||||
--> $DIR/redundant_pattern_matching_option.rs:15:12
|
||||
|
|
||||
LL | if let Some(_) = Some(42) {}
|
||||
| -------^^^^^^^----------- help: try this: `if Some(42).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:12:12
|
||||
--> $DIR/redundant_pattern_matching_option.rs:17:12
|
||||
|
|
||||
LL | if let Some(_) = Some(42) {
|
||||
| -------^^^^^^^----------- help: try this: `if Some(42).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:18:15
|
||||
--> $DIR/redundant_pattern_matching_option.rs:23:15
|
||||
|
|
||||
LL | while let Some(_) = Some(42) {}
|
||||
| ----------^^^^^^^----------- help: try this: `while Some(42).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:20:15
|
||||
--> $DIR/redundant_pattern_matching_option.rs:25:15
|
||||
|
|
||||
LL | while let None = Some(42) {}
|
||||
| ----------^^^^----------- help: try this: `while Some(42).is_none()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:22:15
|
||||
--> $DIR/redundant_pattern_matching_option.rs:27:15
|
||||
|
|
||||
LL | while let None = None::<()> {}
|
||||
| ----------^^^^------------- help: try this: `while None::<()>.is_none()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:25:15
|
||||
--> $DIR/redundant_pattern_matching_option.rs:30:15
|
||||
|
|
||||
LL | while let Some(_) = v.pop() {
|
||||
| ----------^^^^^^^---------- help: try this: `while v.pop().is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:33:5
|
||||
--> $DIR/redundant_pattern_matching_option.rs:38:5
|
||||
|
|
||||
LL | / match Some(42) {
|
||||
LL | | Some(_) => true,
|
||||
|
|
@ -52,7 +52,7 @@ LL | | };
|
|||
| |_____^ help: try this: `Some(42).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:38:5
|
||||
--> $DIR/redundant_pattern_matching_option.rs:43:5
|
||||
|
|
||||
LL | / match None::<()> {
|
||||
LL | | Some(_) => false,
|
||||
|
|
@ -61,7 +61,7 @@ LL | | };
|
|||
| |_____^ help: try this: `None::<()>.is_none()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:43:13
|
||||
--> $DIR/redundant_pattern_matching_option.rs:48:13
|
||||
|
|
||||
LL | let _ = match None::<()> {
|
||||
| _____________^
|
||||
|
|
@ -71,49 +71,49 @@ LL | | };
|
|||
| |_____^ help: try this: `None::<()>.is_none()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:49:20
|
||||
--> $DIR/redundant_pattern_matching_option.rs:54:20
|
||||
|
|
||||
LL | let _ = if let Some(_) = opt { true } else { false };
|
||||
| -------^^^^^^^------ help: try this: `if opt.is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:53:20
|
||||
--> $DIR/redundant_pattern_matching_option.rs:58:20
|
||||
|
|
||||
LL | let _ = if let Some(_) = gen_opt() {
|
||||
| -------^^^^^^^------------ help: try this: `if gen_opt().is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:55:19
|
||||
--> $DIR/redundant_pattern_matching_option.rs:60:19
|
||||
|
|
||||
LL | } else if let None = gen_opt() {
|
||||
| -------^^^^------------ help: try this: `if gen_opt().is_none()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:74:12
|
||||
--> $DIR/redundant_pattern_matching_option.rs:79:12
|
||||
|
|
||||
LL | if let Some(_) = Some(42) {}
|
||||
| -------^^^^^^^----------- help: try this: `if Some(42).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:76:12
|
||||
--> $DIR/redundant_pattern_matching_option.rs:81:12
|
||||
|
|
||||
LL | if let None = None::<()> {}
|
||||
| -------^^^^------------- help: try this: `if None::<()>.is_none()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:78:15
|
||||
--> $DIR/redundant_pattern_matching_option.rs:83:15
|
||||
|
|
||||
LL | while let Some(_) = Some(42) {}
|
||||
| ----------^^^^^^^----------- help: try this: `while Some(42).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:80:15
|
||||
--> $DIR/redundant_pattern_matching_option.rs:85:15
|
||||
|
|
||||
LL | while let None = None::<()> {}
|
||||
| ----------^^^^------------- help: try this: `while None::<()>.is_none()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:82:5
|
||||
--> $DIR/redundant_pattern_matching_option.rs:87:5
|
||||
|
|
||||
LL | / match Some(42) {
|
||||
LL | | Some(_) => true,
|
||||
|
|
@ -122,7 +122,7 @@ LL | | };
|
|||
| |_____^ help: try this: `Some(42).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_none()`
|
||||
--> $DIR/redundant_pattern_matching_option.rs:87:5
|
||||
--> $DIR/redundant_pattern_matching_option.rs:92:5
|
||||
|
|
||||
LL | / match None::<()> {
|
||||
LL | | Some(_) => false,
|
||||
|
|
|
|||
|
|
@ -2,7 +2,12 @@
|
|||
|
||||
#![warn(clippy::all)]
|
||||
#![warn(clippy::redundant_pattern_matching)]
|
||||
#![allow(unused_must_use, clippy::needless_bool, clippy::match_like_matches_macro)]
|
||||
#![allow(
|
||||
unused_must_use,
|
||||
clippy::needless_bool,
|
||||
clippy::match_like_matches_macro,
|
||||
clippy::if_same_then_else
|
||||
)]
|
||||
|
||||
use std::task::Poll::{self, Pending, Ready};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,12 @@
|
|||
|
||||
#![warn(clippy::all)]
|
||||
#![warn(clippy::redundant_pattern_matching)]
|
||||
#![allow(unused_must_use, clippy::needless_bool, clippy::match_like_matches_macro)]
|
||||
#![allow(
|
||||
unused_must_use,
|
||||
clippy::needless_bool,
|
||||
clippy::match_like_matches_macro,
|
||||
clippy::if_same_then_else
|
||||
)]
|
||||
|
||||
use std::task::Poll::{self, Pending, Ready};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:10:12
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:15:12
|
||||
|
|
||||
LL | if let Pending = Pending::<()> {}
|
||||
| -------^^^^^^^---------------- help: try this: `if Pending::<()>.is_pending()`
|
||||
|
|
@ -7,37 +7,37 @@ LL | if let Pending = Pending::<()> {}
|
|||
= note: `-D clippy::redundant-pattern-matching` implied by `-D warnings`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:12:12
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:17:12
|
||||
|
|
||||
LL | if let Ready(_) = Ready(42) {}
|
||||
| -------^^^^^^^^------------ help: try this: `if Ready(42).is_ready()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:14:12
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:19:12
|
||||
|
|
||||
LL | if let Ready(_) = Ready(42) {
|
||||
| -------^^^^^^^^------------ help: try this: `if Ready(42).is_ready()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:20:15
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:25:15
|
||||
|
|
||||
LL | while let Ready(_) = Ready(42) {}
|
||||
| ----------^^^^^^^^------------ help: try this: `while Ready(42).is_ready()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:22:15
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:27:15
|
||||
|
|
||||
LL | while let Pending = Ready(42) {}
|
||||
| ----------^^^^^^^------------ help: try this: `while Ready(42).is_pending()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:24:15
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:29:15
|
||||
|
|
||||
LL | while let Pending = Pending::<()> {}
|
||||
| ----------^^^^^^^---------------- help: try this: `while Pending::<()>.is_pending()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:30:5
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:35:5
|
||||
|
|
||||
LL | / match Ready(42) {
|
||||
LL | | Ready(_) => true,
|
||||
|
|
@ -46,7 +46,7 @@ LL | | };
|
|||
| |_____^ help: try this: `Ready(42).is_ready()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:35:5
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:40:5
|
||||
|
|
||||
LL | / match Pending::<()> {
|
||||
LL | | Ready(_) => false,
|
||||
|
|
@ -55,7 +55,7 @@ LL | | };
|
|||
| |_____^ help: try this: `Pending::<()>.is_pending()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:40:13
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:45:13
|
||||
|
|
||||
LL | let _ = match Pending::<()> {
|
||||
| _____________^
|
||||
|
|
@ -65,49 +65,49 @@ LL | | };
|
|||
| |_____^ help: try this: `Pending::<()>.is_pending()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:46:20
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:51:20
|
||||
|
|
||||
LL | let _ = if let Ready(_) = poll { true } else { false };
|
||||
| -------^^^^^^^^------- help: try this: `if poll.is_ready()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:50:20
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:55:20
|
||||
|
|
||||
LL | let _ = if let Ready(_) = gen_poll() {
|
||||
| -------^^^^^^^^------------- help: try this: `if gen_poll().is_ready()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:52:19
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:57:19
|
||||
|
|
||||
LL | } else if let Pending = gen_poll() {
|
||||
| -------^^^^^^^------------- help: try this: `if gen_poll().is_pending()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:68:12
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:73:12
|
||||
|
|
||||
LL | if let Ready(_) = Ready(42) {}
|
||||
| -------^^^^^^^^------------ help: try this: `if Ready(42).is_ready()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:70:12
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:75:12
|
||||
|
|
||||
LL | if let Pending = Pending::<()> {}
|
||||
| -------^^^^^^^---------------- help: try this: `if Pending::<()>.is_pending()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:72:15
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:77:15
|
||||
|
|
||||
LL | while let Ready(_) = Ready(42) {}
|
||||
| ----------^^^^^^^^------------ help: try this: `while Ready(42).is_ready()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:74:15
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:79:15
|
||||
|
|
||||
LL | while let Pending = Pending::<()> {}
|
||||
| ----------^^^^^^^---------------- help: try this: `while Pending::<()>.is_pending()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ready()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:76:5
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:81:5
|
||||
|
|
||||
LL | / match Ready(42) {
|
||||
LL | | Ready(_) => true,
|
||||
|
|
@ -116,7 +116,7 @@ LL | | };
|
|||
| |_____^ help: try this: `Ready(42).is_ready()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_pending()`
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:81:5
|
||||
--> $DIR/redundant_pattern_matching_poll.rs:86:5
|
||||
|
|
||||
LL | / match Pending::<()> {
|
||||
LL | | Ready(_) => false,
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@
|
|||
clippy::needless_bool,
|
||||
clippy::match_like_matches_macro,
|
||||
clippy::unnecessary_wraps,
|
||||
deprecated
|
||||
deprecated,
|
||||
clippy::if_same_then_else
|
||||
)]
|
||||
|
||||
fn main() {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@
|
|||
clippy::needless_bool,
|
||||
clippy::match_like_matches_macro,
|
||||
clippy::unnecessary_wraps,
|
||||
deprecated
|
||||
deprecated,
|
||||
clippy::if_same_then_else
|
||||
)]
|
||||
|
||||
fn main() {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:15:12
|
||||
--> $DIR/redundant_pattern_matching_result.rs:16:12
|
||||
|
|
||||
LL | if let Ok(_) = &result {}
|
||||
| -------^^^^^---------- help: try this: `if result.is_ok()`
|
||||
|
|
@ -7,31 +7,31 @@ LL | if let Ok(_) = &result {}
|
|||
= note: `-D clippy::redundant-pattern-matching` implied by `-D warnings`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:17:12
|
||||
--> $DIR/redundant_pattern_matching_result.rs:18:12
|
||||
|
|
||||
LL | if let Ok(_) = Ok::<i32, i32>(42) {}
|
||||
| -------^^^^^--------------------- help: try this: `if Ok::<i32, i32>(42).is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:19:12
|
||||
--> $DIR/redundant_pattern_matching_result.rs:20:12
|
||||
|
|
||||
LL | if let Err(_) = Err::<i32, i32>(42) {}
|
||||
| -------^^^^^^---------------------- help: try this: `if Err::<i32, i32>(42).is_err()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:21:15
|
||||
--> $DIR/redundant_pattern_matching_result.rs:22:15
|
||||
|
|
||||
LL | while let Ok(_) = Ok::<i32, i32>(10) {}
|
||||
| ----------^^^^^--------------------- help: try this: `while Ok::<i32, i32>(10).is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:23:15
|
||||
--> $DIR/redundant_pattern_matching_result.rs:24:15
|
||||
|
|
||||
LL | while let Err(_) = Ok::<i32, i32>(10) {}
|
||||
| ----------^^^^^^--------------------- help: try this: `while Ok::<i32, i32>(10).is_err()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:33:5
|
||||
--> $DIR/redundant_pattern_matching_result.rs:34:5
|
||||
|
|
||||
LL | / match Ok::<i32, i32>(42) {
|
||||
LL | | Ok(_) => true,
|
||||
|
|
@ -40,7 +40,7 @@ LL | | };
|
|||
| |_____^ help: try this: `Ok::<i32, i32>(42).is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:38:5
|
||||
--> $DIR/redundant_pattern_matching_result.rs:39:5
|
||||
|
|
||||
LL | / match Ok::<i32, i32>(42) {
|
||||
LL | | Ok(_) => false,
|
||||
|
|
@ -49,7 +49,7 @@ LL | | };
|
|||
| |_____^ help: try this: `Ok::<i32, i32>(42).is_err()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:43:5
|
||||
--> $DIR/redundant_pattern_matching_result.rs:44:5
|
||||
|
|
||||
LL | / match Err::<i32, i32>(42) {
|
||||
LL | | Ok(_) => false,
|
||||
|
|
@ -58,7 +58,7 @@ LL | | };
|
|||
| |_____^ help: try this: `Err::<i32, i32>(42).is_err()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:48:5
|
||||
--> $DIR/redundant_pattern_matching_result.rs:49:5
|
||||
|
|
||||
LL | / match Err::<i32, i32>(42) {
|
||||
LL | | Ok(_) => true,
|
||||
|
|
@ -67,73 +67,73 @@ LL | | };
|
|||
| |_____^ help: try this: `Err::<i32, i32>(42).is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:53:20
|
||||
--> $DIR/redundant_pattern_matching_result.rs:54:20
|
||||
|
|
||||
LL | let _ = if let Ok(_) = Ok::<usize, ()>(4) { true } else { false };
|
||||
| -------^^^^^--------------------- help: try this: `if Ok::<usize, ()>(4).is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:59:20
|
||||
--> $DIR/redundant_pattern_matching_result.rs:60:20
|
||||
|
|
||||
LL | let _ = if let Ok(_) = gen_res() {
|
||||
| -------^^^^^------------ help: try this: `if gen_res().is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:61:19
|
||||
--> $DIR/redundant_pattern_matching_result.rs:62:19
|
||||
|
|
||||
LL | } else if let Err(_) = gen_res() {
|
||||
| -------^^^^^^------------ help: try this: `if gen_res().is_err()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:84:19
|
||||
--> $DIR/redundant_pattern_matching_result.rs:85:19
|
||||
|
|
||||
LL | while let Some(_) = r#try!(result_opt()) {}
|
||||
| ----------^^^^^^^----------------------- help: try this: `while r#try!(result_opt()).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:85:16
|
||||
--> $DIR/redundant_pattern_matching_result.rs:86:16
|
||||
|
|
||||
LL | if let Some(_) = r#try!(result_opt()) {}
|
||||
| -------^^^^^^^----------------------- help: try this: `if r#try!(result_opt()).is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:91:12
|
||||
--> $DIR/redundant_pattern_matching_result.rs:92:12
|
||||
|
|
||||
LL | if let Some(_) = m!() {}
|
||||
| -------^^^^^^^------- help: try this: `if m!().is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_some()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:92:15
|
||||
--> $DIR/redundant_pattern_matching_result.rs:93:15
|
||||
|
|
||||
LL | while let Some(_) = m!() {}
|
||||
| ----------^^^^^^^------- help: try this: `while m!().is_some()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:110:12
|
||||
--> $DIR/redundant_pattern_matching_result.rs:111:12
|
||||
|
|
||||
LL | if let Ok(_) = Ok::<i32, i32>(42) {}
|
||||
| -------^^^^^--------------------- help: try this: `if Ok::<i32, i32>(42).is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:112:12
|
||||
--> $DIR/redundant_pattern_matching_result.rs:113:12
|
||||
|
|
||||
LL | if let Err(_) = Err::<i32, i32>(42) {}
|
||||
| -------^^^^^^---------------------- help: try this: `if Err::<i32, i32>(42).is_err()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:114:15
|
||||
--> $DIR/redundant_pattern_matching_result.rs:115:15
|
||||
|
|
||||
LL | while let Ok(_) = Ok::<i32, i32>(10) {}
|
||||
| ----------^^^^^--------------------- help: try this: `while Ok::<i32, i32>(10).is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:116:15
|
||||
--> $DIR/redundant_pattern_matching_result.rs:117:15
|
||||
|
|
||||
LL | while let Err(_) = Ok::<i32, i32>(10) {}
|
||||
| ----------^^^^^^--------------------- help: try this: `while Ok::<i32, i32>(10).is_err()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_ok()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:118:5
|
||||
--> $DIR/redundant_pattern_matching_result.rs:119:5
|
||||
|
|
||||
LL | / match Ok::<i32, i32>(42) {
|
||||
LL | | Ok(_) => true,
|
||||
|
|
@ -142,7 +142,7 @@ LL | | };
|
|||
| |_____^ help: try this: `Ok::<i32, i32>(42).is_ok()`
|
||||
|
||||
error: redundant pattern matching, consider using `is_err()`
|
||||
--> $DIR/redundant_pattern_matching_result.rs:123:5
|
||||
--> $DIR/redundant_pattern_matching_result.rs:124:5
|
||||
|
|
||||
LL | / match Err::<i32, i32>(42) {
|
||||
LL | | Ok(_) => false,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue