|
1 |
| -use core::convert; |
2 |
| -use core::fmt; |
3 |
| -use core::ops::{ControlFlow, FromResidual, Try}; |
4 |
| -use core::task::Poll; |
5 |
| - |
6 | 1 | /// Extracts the successful type of a [`Poll<T>`].
|
7 | 2 | ///
|
8 | 3 | /// This macro bakes in propagation of [`Pending`] signals by returning early.
|
@@ -60,55 +55,3 @@ pub macro ready($e:expr) {
|
60 | 55 | }
|
61 | 56 | }
|
62 | 57 | }
|
63 |
| - |
64 |
| -/// Extracts the successful type of a [`Poll<T>`]. |
65 |
| -/// |
66 |
| -/// See [`Poll::ready`] for details. |
67 |
| -#[unstable(feature = "poll_ready", issue = "89780")] |
68 |
| -pub struct Ready<T>(pub(crate) Poll<T>); |
69 |
| - |
70 |
| -#[unstable(feature = "poll_ready", issue = "89780")] |
71 |
| -impl<T> Try for Ready<T> { |
72 |
| - type Output = T; |
73 |
| - type Residual = Ready<convert::Infallible>; |
74 |
| - |
75 |
| - #[inline] |
76 |
| - fn from_output(output: Self::Output) -> Self { |
77 |
| - Ready(Poll::Ready(output)) |
78 |
| - } |
79 |
| - |
80 |
| - #[inline] |
81 |
| - fn branch(self) -> ControlFlow<Self::Residual, Self::Output> { |
82 |
| - match self.0 { |
83 |
| - Poll::Ready(v) => ControlFlow::Continue(v), |
84 |
| - Poll::Pending => ControlFlow::Break(Ready(Poll::Pending)), |
85 |
| - } |
86 |
| - } |
87 |
| -} |
88 |
| - |
89 |
| -#[unstable(feature = "poll_ready", issue = "89780")] |
90 |
| -impl<T> FromResidual for Ready<T> { |
91 |
| - #[inline] |
92 |
| - fn from_residual(residual: Ready<convert::Infallible>) -> Self { |
93 |
| - match residual.0 { |
94 |
| - Poll::Pending => Ready(Poll::Pending), |
95 |
| - } |
96 |
| - } |
97 |
| -} |
98 |
| - |
99 |
| -#[unstable(feature = "poll_ready", issue = "89780")] |
100 |
| -impl<T> FromResidual<Ready<convert::Infallible>> for Poll<T> { |
101 |
| - #[inline] |
102 |
| - fn from_residual(residual: Ready<convert::Infallible>) -> Self { |
103 |
| - match residual.0 { |
104 |
| - Poll::Pending => Poll::Pending, |
105 |
| - } |
106 |
| - } |
107 |
| -} |
108 |
| - |
109 |
| -#[unstable(feature = "poll_ready", issue = "89780")] |
110 |
| -impl<T> fmt::Debug for Ready<T> { |
111 |
| - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
112 |
| - f.debug_tuple("Ready").finish() |
113 |
| - } |
114 |
| -} |
0 commit comments