]>
Commit | Line | Data |
---|---|---|
f20569fa | 1 | #![warn(clippy::from_iter_instead_of_collect)] |
c0240ec0 | 2 | #![allow(unused_imports)] |
fe692bf9 | 3 | #![allow(clippy::useless_vec)] |
f20569fa XL |
4 | |
5 | use std::collections::{BTreeMap, BTreeSet, HashMap, VecDeque}; | |
f20569fa | 6 | |
17df50a5 XL |
7 | struct Foo(Vec<bool>); |
8 | ||
9 | impl FromIterator<bool> for Foo { | |
10 | fn from_iter<T: IntoIterator<Item = bool>>(_: T) -> Self { | |
11 | todo!() | |
12 | } | |
13 | } | |
14 | ||
15 | impl<'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 |
21 | fn 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 | } |