pub enum CoroutineState<Y, R> {
Yielded(Y),
Complete(R),
}
coroutine_trait
#43122)Expand description
The result of a coroutine resumption.
This enum is returned from the Coroutine::resume
method and indicates the
possible return values of a coroutine. Currently this corresponds to either
a suspension point (Yielded
) or a termination point (Complete
).
Variants§
Yielded(Y)
coroutine_trait
#43122)The coroutine suspended with a value.
This state indicates that a coroutine has been suspended, and typically
corresponds to a yield
statement. The value provided in this variant
corresponds to the expression passed to yield
and allows coroutines to
provide a value each time they yield.
Complete(R)
coroutine_trait
#43122)The coroutine completed with a return value.
This state indicates that a coroutine has finished execution with the
provided value. Once a coroutine has returned Complete
it is
considered a programmer error to call resume
again.
Trait Implementations§
Source§impl<Y: Clone, R: Clone> Clone for CoroutineState<Y, R>
impl<Y: Clone, R: Clone> Clone for CoroutineState<Y, R>
Source§fn clone(&self) -> CoroutineState<Y, R>
fn clone(&self) -> CoroutineState<Y, R>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<Y: Eq, R: Eq> Eq for CoroutineState<Y, R>
impl<Y: Eq, R: Eq> Eq for CoroutineState<Y, R>
#[doc(hidden)] fn assert_receiver_is_total_eq(&self)
Source§impl<Y: Ord, R: Ord> Ord for CoroutineState<Y, R>
impl<Y: Ord, R: Ord> Ord for CoroutineState<Y, R>
Source§fn cmp(&self, other: &CoroutineState<Y, R>) -> Ordering
fn cmp(&self, other: &CoroutineState<Y, R>) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl<Y: PartialOrd, R: PartialOrd> PartialOrd for CoroutineState<Y, R>
impl<Y: PartialOrd, R: PartialOrd> PartialOrd for CoroutineState<Y, R>
Source§fn partial_cmp(&self, other: &CoroutineState<Y, R>) -> Option<Ordering>
fn partial_cmp(&self, other: &CoroutineState<Y, R>) -> Option<Ordering>
Source§#[doc(hidden)] fn __chaining_lt(&self, other: &Rhs) -> ControlFlow<bool>
#[doc(hidden)] fn __chaining_lt(&self, other: &Rhs) -> ControlFlow<bool>
partial_ord_chaining_methods
)self == other
, returns ControlFlow::Continue(())
.
Otherwise, returns ControlFlow::Break(self < other)
. Read moreSource§#[doc(hidden)] fn __chaining_le(&self, other: &Rhs) -> ControlFlow<bool>
#[doc(hidden)] fn __chaining_le(&self, other: &Rhs) -> ControlFlow<bool>
partial_ord_chaining_methods
)__chaining_lt
, but for <=
instead of <
.Source§#[doc(hidden)] fn __chaining_gt(&self, other: &Rhs) -> ControlFlow<bool>
#[doc(hidden)] fn __chaining_gt(&self, other: &Rhs) -> ControlFlow<bool>
partial_ord_chaining_methods
)__chaining_lt
, but for >
instead of <
.Source§#[doc(hidden)] fn __chaining_ge(&self, other: &Rhs) -> ControlFlow<bool>
#[doc(hidden)] fn __chaining_ge(&self, other: &Rhs) -> ControlFlow<bool>
partial_ord_chaining_methods
)__chaining_lt
, but for >=
instead of <
.impl<Y: Copy, R: Copy> Copy for CoroutineState<Y, R>
impl<Y, R> StructuralPartialEq for CoroutineState<Y, R>
Auto Trait Implementations§
impl<Y, R> Freeze for CoroutineState<Y, R>
impl<Y, R> RefUnwindSafe for CoroutineState<Y, R>where
Y: RefUnwindSafe,
R: RefUnwindSafe,
impl<Y, R> Send for CoroutineState<Y, R>
impl<Y, R> Sync for CoroutineState<Y, R>
impl<Y, R> Unpin for CoroutineState<Y, R>
impl<Y, R> UnsafeUnpin for CoroutineState<Y, R>where
Y: UnsafeUnpin,
R: UnsafeUnpin,
impl<Y, R> UnwindSafe for CoroutineState<Y, R>where
Y: UnwindSafe,
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
sized_type_properties
)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
sized_type_properties
)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
sized_type_properties
)[Self]
. Read more