2 #![warn(clippy::iter_overeager_cloned, clippy::redundant_clone, clippy::filter_next)]
5 let vec = vec!["1".to_string(), "2".to_string(), "3".to_string()];
7 let _: Option<String> = vec.iter().cloned().last();
9 let _: Option<String> = vec.iter().chain(vec.iter()).cloned().next();
11 let _: usize = vec.iter().filter(|x| x == &"2").cloned().count();
13 let _: Vec<_> = vec.iter().cloned().take(2).collect();
15 let _: Vec<_> = vec.iter().cloned().skip(2).collect();
17 let _ = vec.iter().filter(|x| x == &"2").cloned().nth(2);
19 let _ = [Some(Some("str".to_string())), Some(Some("str".to_string()))]
24 // Not implemented yet
25 let _ = vec.iter().cloned().filter(|x| x.starts_with('2'));
27 // Not implemented yet
28 let _ = vec.iter().cloned().map(|x| x.len());
30 // This would fail if changed.
31 let _ = vec.iter().cloned().map(|x| x + "2");
33 // Not implemented yet
34 let _ = vec.iter().cloned().find(|x| x == "2");
36 // Not implemented yet
37 let _ = vec.iter().cloned().for_each(|x| assert!(!x.is_empty()));
39 // Not implemented yet
40 let _ = vec.iter().cloned().all(|x| x.len() == 1);
42 // Not implemented yet
43 let _ = vec.iter().cloned().any(|x| x.len() == 1);
45 // Should probably stay as it is.
46 let _ = [0, 1, 2, 3, 4].iter().cloned().take(10);