use std::collections::VecDeque; use std::pin::Pin; use crate::stream::{Extend, FromStream, IntoStream}; impl FromStream for VecDeque { #[inline] fn from_stream<'a, S: IntoStream>( stream: S, ) -> Pin + 'a>> where ::IntoStream: 'a, { let stream = stream.into_stream(); Box::pin(async move { pin_utils::pin_mut!(stream); let mut out = VecDeque::new(); out.stream_extend(stream).await; out }) } }