3 #![warn(clippy::from_iter_instead_of_collect)]
4 #![allow(unused_imports)]
6 use std
::collections
::{BTreeMap, BTreeSet, HashMap, VecDeque}
;
7 use std
::iter
::FromIterator
;
11 impl FromIterator
<bool
> for Foo
{
12 fn from_iter
<T
: IntoIterator
<Item
= bool
>>(_
: T
) -> Self {
17 impl<'a
> FromIterator
<&'a bool
> for Foo
{
18 fn from_iter
<T
: IntoIterator
<Item
= &'a bool
>>(iter
: T
) -> Self {
19 <Self as FromIterator
<bool
>>::from_iter(iter
.into_iter().copied())
24 let iter_expr
= std
::iter
::repeat(5).take(5);
25 let _
= Vec
::from_iter(iter_expr
);
27 let _
= HashMap
::<usize, &i8>::from_iter(vec
![5, 5, 5, 5].iter().enumerate());
29 Vec
::from_iter(vec
![42u32]);
31 let a
= vec
![0, 1, 2];
32 assert_eq
!(a
, Vec
::from_iter(0..3));
33 assert_eq
!(a
, Vec
::<i32>::from_iter(0..3));
35 let mut b
= VecDeque
::from_iter(0..3);
38 let mut b
= VecDeque
::<i32>::from_iter(0..3);
43 let mut b
= collections
::VecDeque
::<i32>::from_iter(0..3);
47 let values
= [(0, 'a'
), (1, 'b'
), (2, 'c'
), (3, 'd'
)];
48 let bm
= BTreeMap
::from_iter(values
.iter().cloned());
49 let mut bar
= BTreeMap
::from_iter(bm
.range(0..2));
52 let mut bts
= BTreeSet
::from_iter(0..3);
56 let _
= collections
::BTreeSet
::from_iter(0..3);
57 let _
= collections
::BTreeSet
::<u32>::from_iter(0..3);
60 for _i
in Vec
::from_iter([1, 2, 3].iter()) {}
61 for _i
in Vec
::<&i32>::from_iter([1, 2, 3].iter()) {}