diff options
| author | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2020-05-02 09:49:00 +0200 |
|---|---|---|
| committer | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2020-05-02 09:49:00 +0200 |
| commit | bce9fae97abb255c9fc6c994f50a052be4010a6f (patch) | |
| tree | d88048931c569432e321c522d34795966c1c6647 /src/tools/clippy/tests/ui/redundant_pattern_matching.fixed | |
| parent | 06c44816c1532e5ff08ad072f581fc068eb60e2e (diff) | |
| parent | d2708873ef711ec8ab45df1e984ecf24a96cd369 (diff) | |
| download | rust-bce9fae97abb255c9fc6c994f50a052be4010a6f.tar.gz rust-bce9fae97abb255c9fc6c994f50a052be4010a6f.zip | |
Add 'src/tools/clippy/' from commit 'd2708873ef711ec8ab45df1e984ecf24a96cd369'
git-subtree-dir: src/tools/clippy git-subtree-mainline: 06c44816c1532e5ff08ad072f581fc068eb60e2e git-subtree-split: d2708873ef711ec8ab45df1e984ecf24a96cd369
Diffstat (limited to 'src/tools/clippy/tests/ui/redundant_pattern_matching.fixed')
| -rw-r--r-- | src/tools/clippy/tests/ui/redundant_pattern_matching.fixed | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/redundant_pattern_matching.fixed b/src/tools/clippy/tests/ui/redundant_pattern_matching.fixed new file mode 100644 index 00000000000..fc8cb0e747c --- /dev/null +++ b/src/tools/clippy/tests/ui/redundant_pattern_matching.fixed @@ -0,0 +1,119 @@ +// run-rustfix + +#![warn(clippy::all)] +#![warn(clippy::redundant_pattern_matching)] +#![allow(clippy::unit_arg, unused_must_use, clippy::needless_bool, deprecated)] + +fn main() { + if Ok::<i32, i32>(42).is_ok() {} + + if Err::<i32, i32>(42).is_err() {} + + if None::<()>.is_none() {} + + if Some(42).is_some() {} + + if Some(42).is_some() { + foo(); + } else { + bar(); + } + + while Some(42).is_some() {} + + while Some(42).is_none() {} + + while None::<()>.is_none() {} + + while Ok::<i32, i32>(10).is_ok() {} + + while Ok::<i32, i32>(10).is_err() {} + + let mut v = vec![1, 2, 3]; + while v.pop().is_some() { + foo(); + } + + if Ok::<i32, i32>(42).is_ok() {} + + if Err::<i32, i32>(42).is_err() {} + + if None::<i32>.is_none() {} + + if Some(42).is_some() {} + + if let Ok(x) = Ok::<i32, i32>(42) { + println!("{}", x); + } + + Ok::<i32, i32>(42).is_ok(); + + Ok::<i32, i32>(42).is_err(); + + Err::<i32, i32>(42).is_err(); + + Err::<i32, i32>(42).is_ok(); + + Some(42).is_some(); + + None::<()>.is_none(); + + let _ = None::<()>.is_none(); + + let _ = if Ok::<usize, ()>(4).is_ok() { true } else { false }; + + let opt = Some(false); + let x = if opt.is_some() { true } else { false }; + takes_bool(x); + + issue5504(); + + let _ = if gen_opt().is_some() { + 1 + } else if gen_opt().is_none() { + 2 + } else if gen_res().is_ok() { + 3 + } else if gen_res().is_err() { + 4 + } else { + 5 + }; +} + +fn gen_opt() -> Option<()> { + None +} + +fn gen_res() -> Result<(), ()> { + Ok(()) +} + +fn takes_bool(_: bool) {} + +fn foo() {} + +fn bar() {} + +macro_rules! m { + () => { + Some(42u32) + }; +} + +fn issue5504() { + fn result_opt() -> Result<Option<i32>, i32> { + Err(42) + } + + fn try_result_opt() -> Result<i32, i32> { + while r#try!(result_opt()).is_some() {} + if r#try!(result_opt()).is_some() {} + Ok(42) + } + + try_result_opt(); + + if m!().is_some() {} + while m!().is_some() {} +} |
