Lines Matching refs:MaybeDone
10 pub enum MaybeDone<Fut: Future> { enum
21 impl<Fut: Future + Unpin> Unpin for MaybeDone<Fut> {} implementation
24 pub fn maybe_done<Fut: Future>(future: Fut) -> MaybeDone<Fut> { in maybe_done()
25 MaybeDone::Future(future) in maybe_done()
28 impl<Fut: Future> MaybeDone<Fut> { implementation
37 MaybeDone::Done(res) => Some(res), in output_mut()
50 MaybeDone::Done(_) => {} in take_output()
51 MaybeDone::Future(_) | MaybeDone::Gone => return None, in take_output()
53 if let MaybeDone::Done(output) = mem::replace(this, MaybeDone::Gone) { in take_output()
62 impl<Fut: Future> Future for MaybeDone<Fut> { implementation
68 MaybeDone::Future(a) => ready!(Pin::new_unchecked(a).poll(cx)), in poll()
69 MaybeDone::Done(_) => return Poll::Ready(()), in poll()
70 MaybeDone::Gone => panic!("MaybeDone polled after value taken"), in poll()
73 self.set(MaybeDone::Done(res)); in poll()