]> git.lizzy.rs Git - rust.git/blob - tests/ui/search_is_some_fixable.rs
Auto merge of #6476 - 1c3t3a:1c3t3a-from-over-into, r=llogiq
[rust.git] / tests / ui / search_is_some_fixable.rs
1 // run-rustfix
2
3 #![warn(clippy::search_is_some)]
4
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 }