]> git.lizzy.rs Git - rust.git/blob - tests/ui/search_is_some.rs
Auto merge of #6476 - 1c3t3a:1c3t3a-from-over-into, r=llogiq
[rust.git] / tests / ui / search_is_some.rs
1 // aux-build:option_helpers.rs
2 extern crate option_helpers;
3 use option_helpers::IteratorFalsePositives;
4
5 #[warn(clippy::search_is_some)]
6 #[rustfmt::skip]
7 fn main() {
8     let v = vec![3, 2, 1, 0, -1, -2, -3];
9     let y = &&42;
10
11
12     // Check `find().is_some()`, multi-line case.
13     let _ = v.iter().find(|&x| {
14                               *x < 0
15                           }
16                    ).is_some();
17
18     // Check `position().is_some()`, multi-line case.
19     let _ = v.iter().position(|&x| {
20                                   x < 0
21                               }
22                    ).is_some();
23
24     // Check `rposition().is_some()`, multi-line case.
25     let _ = v.iter().rposition(|&x| {
26                                    x < 0
27                                }
28                    ).is_some();
29
30     // Check that we don't lint if the caller is not an `Iterator` or string
31     let falsepos = IteratorFalsePositives { foo: 0 };
32     let _ = falsepos.find().is_some();
33     let _ = falsepos.position().is_some();
34     let _ = falsepos.rposition().is_some();
35     // check that we don't lint if `find()` is called with
36     // `Pattern` that is not a string
37     let _ = "hello world".find(|c: char| c == 'o' || c == 'l').is_some();
38 }