use std::pin::Pin; use crate::prelude::*; use crate::stream::{self, IntoStream}; impl stream::Extend for Vec { fn extend<'a, S: IntoStream + 'a>( &'a mut self, stream: S, ) -> Pin + 'a + Send>> where ::IntoStream: Send, { let stream = stream.into_stream(); self.reserve(stream.size_hint().0); Box::pin(stream.for_each(move |item| self.push(item))) } }