1 // run-rustfix
2 #![allow(dead_code)]
3 #![warn(clippy::search_is_some)]
4 
main()5 fn main() {
6     let v = vec![3, 2, 1, 0, -1, -2, -3];
7     let y = &&42;
8 
9     // Check `find().is_some()`, single-line case.
10     let _ = v.iter().find(|&x| *x < 0).is_some();
11     let _ = (0..1).find(|x| **y == *x).is_some(); // one dereference less
12     let _ = (0..1).find(|x| *x == 0).is_some();
13     let _ = v.iter().find(|x| **x == 0).is_some();
14 
15     // Check `position().is_some()`, single-line case.
16     let _ = v.iter().position(|&x| x < 0).is_some();
17 
18     // Check `rposition().is_some()`, single-line case.
19     let _ = v.iter().rposition(|&x| x < 0).is_some();
20 
21     let s1 = String::from("hello world");
22     let s2 = String::from("world");
23     // caller of `find()` is a `&`static str`
24     let _ = "hello world".find("world").is_some();
25     let _ = "hello world".find(&s2).is_some();
26     let _ = "hello world".find(&s2[2..]).is_some();
27     // caller of `find()` is a `String`
28     let _ = s1.find("world").is_some();
29     let _ = s1.find(&s2).is_some();
30     let _ = s1.find(&s2[2..]).is_some();
31     // caller of `find()` is slice of `String`
32     let _ = s1[2..].find("world").is_some();
33     let _ = s1[2..].find(&s2).is_some();
34     let _ = s1[2..].find(&s2[2..]).is_some();
35 }
36 
is_none()37 fn is_none() {
38     let v = vec![3, 2, 1, 0, -1, -2, -3];
39     let y = &&42;
40 
41     // Check `find().is_none()`, single-line case.
42     let _ = v.iter().find(|&x| *x < 0).is_none();
43     let _ = (0..1).find(|x| **y == *x).is_none(); // one dereference less
44     let _ = (0..1).find(|x| *x == 0).is_none();
45     let _ = v.iter().find(|x| **x == 0).is_none();
46 
47     // Check `position().is_none()`, single-line case.
48     let _ = v.iter().position(|&x| x < 0).is_none();
49 
50     // Check `rposition().is_none()`, single-line case.
51     let _ = v.iter().rposition(|&x| x < 0).is_none();
52 
53     let s1 = String::from("hello world");
54     let s2 = String::from("world");
55 
56     // caller of `find()` is a `&`static str`
57     let _ = "hello world".find("world").is_none();
58     let _ = "hello world".find(&s2).is_none();
59     let _ = "hello world".find(&s2[2..]).is_none();
60     // caller of `find()` is a `String`
61     let _ = s1.find("world").is_none();
62     let _ = s1.find(&s2).is_none();
63     let _ = s1.find(&s2[2..]).is_none();
64     // caller of `find()` is slice of `String`
65     let _ = s1[2..].find("world").is_none();
66     let _ = s1[2..].find(&s2).is_none();
67     let _ = s1[2..].find(&s2[2..]).is_none();
68 }
69