makepad_internal_iter/
extend_from_internal_iterator.rs

1use crate::{InternalIterator, IntoInternalIterator};
2
3/// A trait for extending a collection with each item of an internal iterator.
4pub trait ExtendFromInternalIterator<T> {
5    /// Extends `self` with each item of `internal_iter`.
6    fn extend_from_internal_iter<I>(&mut self, internal_iter: I)
7    where
8        I: IntoInternalIterator<Item = T>;
9}
10
11impl<T> ExtendFromInternalIterator<T> for Vec<T> {
12    fn extend_from_internal_iter<I>(&mut self, internal_iter: I)
13    where
14        I: IntoInternalIterator<Item = T>,
15    {
16        internal_iter.into_internal_iter().for_each(&mut |item| {
17            self.push(item);
18            true
19        });
20    }
21}