usesuper::assert_stream; use core::pin::Pin; use futures_core::future::Future; use futures_core::ready; use futures_core::stream::{FusedStream, Stream}; use futures_core::task::{Context, Poll}; use pin_project_lite::pin_project;
/// Creates a stream of a single element. /// /// ``` /// # futures::executor::block_on(async { /// use futures::stream::{self, StreamExt}; /// /// let stream = stream::once(async { 17 }); /// let collected = stream.collect::<Vec<i32>>().await; /// assert_eq!(collected, vec![17]); /// # }); /// ``` pubfn once<Fut: Future>(future: Fut) -> Once<Fut> {
assert_stream::<Fut::Output, _>(Once::new(future))
}
pin_project! { /// A stream which emits single element and then EOF. #[derive(Debug)] #[must_use = "streams do nothing unless polled"] pubstruct Once<Fut> { #[pin]
future: Option<Fut>
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.