use std::pin::Pin; use crate::future::Future; use crate::stream::{Extend, IntoStream, Stream}; impl Extend for Vec { fn stream_extend<'a, S: IntoStream + 'a>( &'a mut self, stream: S, ) -> Pin + 'a>> { let stream = stream.into_stream(); Box::pin(async move { pin_utils::pin_mut!(stream); while let Some(item) = stream.next().await { self.push(item); } }) } }