diff options
Diffstat (limited to 'src/future/ready.rs')
-rw-r--r-- | src/future/ready.rs | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/src/future/ready.rs b/src/future/ready.rs deleted file mode 100644 index de2d60c..0000000 --- a/src/future/ready.rs +++ /dev/null @@ -1,27 +0,0 @@ -use std::future::Future; -use std::pin::Pin; -use std::task::{Context, Poll}; - -/// Future for the [`ok`](ok()) function. -/// -/// `pub` in order to use the future as an associated type in a sealed trait. -#[derive(Debug)] -// Used as an associated type in a "sealed" trait. -#[allow(unreachable_pub)] -pub struct Ready<T>(Option<T>); - -impl<T> Unpin for Ready<T> {} - -impl<T> Future for Ready<T> { - type Output = T; - - #[inline] - fn poll(mut self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<T> { - Poll::Ready(self.0.take().unwrap()) - } -} - -/// Creates a future that is immediately ready with a success value. -pub(crate) fn ok<T, E>(t: T) -> Ready<Result<T, E>> { - Ready(Some(Ok(t))) -} |