2
0
Fork 1
mirror of https://github.com/async-rs/async-std.git synced 2025-03-31 13:36:41 +00:00
async-std/src/collections/linked_list/extend.rs
Stjepan Glavina f8e82564d9
Rename stream_extend to extend (#464)
* Rename stream_extend to extend

* Remove Extend from prelude

* Add stream::extend()
2019-11-07 21:46:58 +00:00

15 lines
422 B
Rust

use std::collections::LinkedList;
use std::pin::Pin;
use crate::prelude::*;
use crate::stream::{self, IntoStream};
impl<T> stream::Extend<T> for LinkedList<T> {
fn extend<'a, S: IntoStream<Item = T> + 'a>(
&'a mut self,
stream: S,
) -> Pin<Box<dyn Future<Output = ()> + 'a>> {
let stream = stream.into_stream();
Box::pin(stream.for_each(move |item| self.push_back(item)))
}
}