]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/needless_collect_indirect.rs
New upstream version 1.52.1+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / needless_collect_indirect.rs
CommitLineData
f20569fa
XL
1use std::collections::{HashMap, VecDeque};
2
3fn main() {
4 let sample = [1; 5];
5 let indirect_iter = sample.iter().collect::<Vec<_>>();
6 indirect_iter.into_iter().map(|x| (x, x + 1)).collect::<HashMap<_, _>>();
7 let indirect_len = sample.iter().collect::<VecDeque<_>>();
8 indirect_len.len();
9 let indirect_empty = sample.iter().collect::<VecDeque<_>>();
10 indirect_empty.is_empty();
11 let indirect_contains = sample.iter().collect::<VecDeque<_>>();
12 indirect_contains.contains(&&5);
13 let indirect_negative = sample.iter().collect::<Vec<_>>();
14 indirect_negative.len();
15 indirect_negative
16 .into_iter()
17 .map(|x| (*x, *x + 1))
18 .collect::<HashMap<_, _>>();
19
20 // #6202
21 let a = "a".to_string();
22 let sample = vec![a.clone(), "b".to_string(), "c".to_string()];
23 let non_copy_contains = sample.into_iter().collect::<Vec<_>>();
24 non_copy_contains.contains(&a);
25
26 // Fix #5991
27 let vec_a = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
28 let vec_b = vec_a.iter().collect::<Vec<_>>();
29 if vec_b.len() > 3 {}
30 let other_vec = vec![1, 3, 12, 4, 16, 2];
31 let we_got_the_same_numbers = other_vec.iter().filter(|item| vec_b.contains(item)).collect::<Vec<_>>();
32
33 // Fix #6297
34 let sample = [1; 5];
35 let multiple_indirect = sample.iter().collect::<Vec<_>>();
36 let sample2 = vec![2, 3];
37 if multiple_indirect.is_empty() {
38 // do something
39 } else {
40 let found = sample2
41 .iter()
42 .filter(|i| multiple_indirect.iter().any(|s| **s % **i == 0))
43 .collect::<Vec<_>>();
44 }
45}