]>
Commit | Line | Data |
---|---|---|
5099ac24 FG |
1 | // run-rustfix |
2 | #![warn(clippy::iter_overeager_cloned, clippy::redundant_clone, clippy::filter_next)] | |
04454e1e | 3 | #![allow(dead_code, clippy::let_unit_value)] |
5099ac24 FG |
4 | |
5 | fn main() { | |
6 | let vec = vec!["1".to_string(), "2".to_string(), "3".to_string()]; | |
7 | ||
8 | let _: Option<String> = vec.iter().last().cloned(); | |
9 | ||
10 | let _: Option<String> = vec.iter().chain(vec.iter()).next().cloned(); | |
11 | ||
12 | let _: usize = vec.iter().filter(|x| x == &"2").count(); | |
13 | ||
14 | let _: Vec<_> = vec.iter().take(2).cloned().collect(); | |
15 | ||
16 | let _: Vec<_> = vec.iter().skip(2).cloned().collect(); | |
17 | ||
18 | let _ = vec.iter().filter(|x| x == &"2").nth(2).cloned(); | |
19 | ||
20 | let _ = [Some(Some("str".to_string())), Some(Some("str".to_string()))] | |
923072b8 FG |
21 | .iter() |
22 | .flatten().cloned(); | |
5099ac24 FG |
23 | |
24 | // Not implemented yet | |
25 | let _ = vec.iter().cloned().filter(|x| x.starts_with('2')); | |
26 | ||
27 | // Not implemented yet | |
28 | let _ = vec.iter().cloned().map(|x| x.len()); | |
29 | ||
30 | // This would fail if changed. | |
31 | let _ = vec.iter().cloned().map(|x| x + "2"); | |
32 | ||
33 | // Not implemented yet | |
34 | let _ = vec.iter().cloned().find(|x| x == "2"); | |
35 | ||
36 | // Not implemented yet | |
37 | let _ = vec.iter().cloned().for_each(|x| assert!(!x.is_empty())); | |
38 | ||
39 | // Not implemented yet | |
40 | let _ = vec.iter().cloned().all(|x| x.len() == 1); | |
41 | ||
42 | // Not implemented yet | |
43 | let _ = vec.iter().cloned().any(|x| x.len() == 1); | |
44 | ||
45 | // Should probably stay as it is. | |
46 | let _ = [0, 1, 2, 3, 4].iter().cloned().take(10); | |
923072b8 FG |
47 | |
48 | // `&Range<_>` doesn't implement `IntoIterator` | |
49 | let _ = [0..1, 2..5].iter().cloned().flatten(); | |
5099ac24 | 50 | } |
04454e1e FG |
51 | |
52 | // #8527 | |
53 | fn cloned_flatten(x: Option<&Option<String>>) -> Option<String> { | |
54 | x.cloned().flatten() | |
55 | } |