diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/iter_filter_is_ok.fixed | 14 | ||||
| -rw-r--r-- | tests/ui/iter_filter_is_ok.rs | 14 | ||||
| -rw-r--r-- | tests/ui/iter_filter_is_some.fixed | 18 | ||||
| -rw-r--r-- | tests/ui/iter_filter_is_some.rs | 18 | ||||
| -rw-r--r-- | tests/ui/iter_filter_is_some.stderr | 4 |
5 files changed, 58 insertions, 10 deletions
diff --git a/tests/ui/iter_filter_is_ok.fixed b/tests/ui/iter_filter_is_ok.fixed index 9985877a02a..acfd097675c 100644 --- a/tests/ui/iter_filter_is_ok.fixed +++ b/tests/ui/iter_filter_is_ok.fixed @@ -5,4 +5,18 @@ fn main() { //~^ HELP: consider using `flatten` instead let _ = vec![Ok(1), Err(2), Ok(3)].into_iter().flatten(); //~^ HELP: consider using `flatten` instead + + // Don't lint below + let mut counter = 0; + let _ = vec![Ok(1), Err(2)].into_iter().filter(|o| { + counter += 1; + o.is_ok() + }); + let _ = vec![Ok(1), Err(2)].into_iter().filter(|o| { + // Roses are red, + // Violets are blue, + // `Err` is not an `Option`, + // and this doesn't ryme + o.is_ok() + }); } diff --git a/tests/ui/iter_filter_is_ok.rs b/tests/ui/iter_filter_is_ok.rs index 176ce902637..f13a28ad0e3 100644 --- a/tests/ui/iter_filter_is_ok.rs +++ b/tests/ui/iter_filter_is_ok.rs @@ -5,4 +5,18 @@ fn main() { //~^ HELP: consider using `flatten` instead let _ = vec![Ok(1), Err(2), Ok(3)].into_iter().filter(|a| a.is_ok()); //~^ HELP: consider using `flatten` instead + + // Don't lint below + let mut counter = 0; + let _ = vec![Ok(1), Err(2)].into_iter().filter(|o| { + counter += 1; + o.is_ok() + }); + let _ = vec![Ok(1), Err(2)].into_iter().filter(|o| { + // Roses are red, + // Violets are blue, + // `Err` is not an `Option`, + // and this doesn't ryme + o.is_ok() + }); } diff --git a/tests/ui/iter_filter_is_some.fixed b/tests/ui/iter_filter_is_some.fixed index 3732a8e72d1..f70f54b622e 100644 --- a/tests/ui/iter_filter_is_some.fixed +++ b/tests/ui/iter_filter_is_some.fixed @@ -1,12 +1,22 @@ #![warn(clippy::iter_filter_is_some)] -fn odds_out(x: i32) -> Option<i32> { - if x % 2 == 0 { Some(x) } else { None } -} - fn main() { let _ = vec![Some(1)].into_iter().flatten(); //~^ HELP: consider using `flatten` instead let _ = vec![Some(1)].into_iter().flatten(); //~^ HELP: consider using `flatten` instead + + // Don't lint below + let mut counter = 0; + let _ = vec![Some(1)].into_iter().filter(|o| { + counter += 1; + o.is_some() + }); + let _ = vec![Some(1)].into_iter().filter(|o| { + // Roses are red, + // Violets are blue, + // `Err` is not an `Option`, + // and this doesn't ryme + o.is_some() + }); } diff --git a/tests/ui/iter_filter_is_some.rs b/tests/ui/iter_filter_is_some.rs index 5cc457efed5..18d450e8a98 100644 --- a/tests/ui/iter_filter_is_some.rs +++ b/tests/ui/iter_filter_is_some.rs @@ -1,12 +1,22 @@ #![warn(clippy::iter_filter_is_some)] -fn odds_out(x: i32) -> Option<i32> { - if x % 2 == 0 { Some(x) } else { None } -} - fn main() { let _ = vec![Some(1)].into_iter().filter(Option::is_some); //~^ HELP: consider using `flatten` instead let _ = vec![Some(1)].into_iter().filter(|o| o.is_some()); //~^ HELP: consider using `flatten` instead + + // Don't lint below + let mut counter = 0; + let _ = vec![Some(1)].into_iter().filter(|o| { + counter += 1; + o.is_some() + }); + let _ = vec![Some(1)].into_iter().filter(|o| { + // Roses are red, + // Violets are blue, + // `Err` is not an `Option`, + // and this doesn't ryme + o.is_some() + }); } diff --git a/tests/ui/iter_filter_is_some.stderr b/tests/ui/iter_filter_is_some.stderr index 2b1c1cdf7ef..a9ef1d547a9 100644 --- a/tests/ui/iter_filter_is_some.stderr +++ b/tests/ui/iter_filter_is_some.stderr @@ -1,5 +1,5 @@ error: `filter` for `is_some` on iterator over `Option` - --> $DIR/iter_filter_is_some.rs:8:39 + --> $DIR/iter_filter_is_some.rs:4:39 | LL | let _ = vec![Some(1)].into_iter().filter(Option::is_some); | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `flatten` instead: `flatten()` @@ -8,7 +8,7 @@ LL | let _ = vec![Some(1)].into_iter().filter(Option::is_some); = help: to override `-D warnings` add `#[allow(clippy::iter_filter_is_some)]` error: `filter` for `is_some` on iterator over `Option` - --> $DIR/iter_filter_is_some.rs:10:39 + --> $DIR/iter_filter_is_some.rs:6:39 | LL | let _ = vec![Some(1)].into_iter().filter(|o| o.is_some()); | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `flatten` instead: `flatten()` |
