pub struct TaskExit(/* private fields */);
Available on crate features
runtime
and component-model
and component-model-async
only.Expand description
Represents the completion of a task created using
[Typed]Func::call_concurrent
.
In general, a guest task may continue running after returning a value.
Moreover, any given guest task may create its own subtasks before or after
returning and may exit before some or all of those subtasks have finished
running. In that case, the still-running subtasks will be “reparented” to
the nearest surviving caller, which may be the original host call. The
future returned by TaskExit::block
will resolve once all transitive
subtasks created directly or indirectly by the original call to
Instance::call_concurrent
have exited.
Implementations§
Auto Trait Implementations§
impl Freeze for TaskExit
impl !RefUnwindSafe for TaskExit
impl Send for TaskExit
impl Sync for TaskExit
impl Unpin for TaskExit
impl !UnwindSafe for TaskExit
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
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more