]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/from_iter_instead_of_collect.fixed
bump version to 1.81.0+dfsg1-2~bpo12+pve1
[rustc.git] / src / tools / clippy / tests / ui / from_iter_instead_of_collect.fixed
CommitLineData
f20569fa 1#![warn(clippy::from_iter_instead_of_collect)]
c0240ec0 2#![allow(unused_imports)]
fe692bf9 3#![allow(clippy::useless_vec)]
f20569fa
XL
4
5use std::collections::{BTreeMap, BTreeSet, HashMap, VecDeque};
f20569fa 6
17df50a5
XL
7struct Foo(Vec<bool>);
8
9impl FromIterator<bool> for Foo {
10 fn from_iter<T: IntoIterator<Item = bool>>(_: T) -> Self {
11 todo!()
12 }
13}
14
15impl<'a> FromIterator<&'a bool> for Foo {
16 fn from_iter<T: IntoIterator<Item = &'a bool>>(iter: T) -> Self {
17 iter.into_iter().copied().collect::<Self>()
18 }
19}
20
f20569fa
XL
21fn main() {
22 let iter_expr = std::iter::repeat(5).take(5);
23 let _ = iter_expr.collect::<Vec<_>>();
24
25 let _ = vec![5, 5, 5, 5].iter().enumerate().collect::<HashMap<usize, &i8>>();
26
27 Vec::from_iter(vec![42u32]);
28
29 let a = vec![0, 1, 2];
30 assert_eq!(a, (0..3).collect::<Vec<_>>());
31 assert_eq!(a, (0..3).collect::<Vec<i32>>());
32
33 let mut b = (0..3).collect::<VecDeque<_>>();
34 b.push_back(4);
35
36 let mut b = (0..3).collect::<VecDeque<i32>>();
37 b.push_back(4);
38
39 {
40 use std::collections;
41 let mut b = (0..3).collect::<collections::VecDeque<i32>>();
42 b.push_back(4);
43 }
44
45 let values = [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')];
46 let bm = values.iter().cloned().collect::<BTreeMap<_, _>>();
47 let mut bar = bm.range(0..2).collect::<BTreeMap<_, _>>();
48 bar.insert(&4, &'e');
49
50 let mut bts = (0..3).collect::<BTreeSet<_>>();
51 bts.insert(2);
52 {
53 use std::collections;
54 let _ = (0..3).collect::<collections::BTreeSet<_>>();
55 let _ = (0..3).collect::<collections::BTreeSet<u32>>();
56 }
57
58 for _i in [1, 2, 3].iter().collect::<Vec<_>>() {}
59 for _i in [1, 2, 3].iter().collect::<Vec<&i32>>() {}
60}