pub struct ReportTerminalOutcome<A: Address> {
pub outcome: TerminalOutcome<A>,
}Expand description
Ask the interpreter to publish one exact terminal outcome for the emitting incarnation before interpreting the same action’s terminal verdict.
This is a Bombay lifecycle-publication policy, not an actor-model
primitive. It is an explicit effect so a pure composition can propagate
an authoritative child or peer fact without placing lifecycle provenance
in behavior::Step or using an ambient runtime side channel.
Fields§
§outcome: TerminalOutcome<A>Implementations§
Source§impl<A: Address> ReportTerminalOutcome<A>
impl<A: Address> ReportTerminalOutcome<A>
pub const fn new(outcome: TerminalOutcome<A>) -> Self
Trait Implementations§
Source§impl<A> ActionItem for ReportTerminalOutcome<A>
impl<A> ActionItem for ReportTerminalOutcome<A>
type Custody = (Option<ReportTerminalOutcome<A>>, Option<<ReportTerminalOutcome<A> as ActionItem>::Reply>)
type Input<'a> = &'a mut Option<ReportTerminalOutcome<A>> where Self: 'a
type Reply = ItemSettlement<ReportTerminalOutcome<A>, <ReportTerminalOutcome<A> as ActionItem>::Accepted, <ReportTerminalOutcome<A> as ActionItem>::Rejection, <ReportTerminalOutcome<A> as ActionItem>::Prerequisite>
type Accepted = ()
type Rejection = Never
type Prerequisite = Never
fn prepare_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::Custody, Self::Reply>>, )
fn interpretation_input<'a>(
custody: &'a mut Self::Custody,
) -> Option<(Self::Input<'a>, &'a mut Option<Self::Reply>)>where
Self: 'a,
fn finish_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::Custody, Self::Reply>>, )
Source§impl<A: Clone + Address> Clone for ReportTerminalOutcome<A>
impl<A: Clone + Address> Clone for ReportTerminalOutcome<A>
Source§fn clone(&self) -> ReportTerminalOutcome<A>
fn clone(&self) -> ReportTerminalOutcome<A>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<A: Address> InterpreterRequest for ReportTerminalOutcome<A>
impl<A: Address> InterpreterRequest for ReportTerminalOutcome<A>
impl<A: Copy + Address> Copy for ReportTerminalOutcome<A>
impl<A: Eq + Address> Eq for ReportTerminalOutcome<A>
impl<A: Address> StructuralPartialEq for ReportTerminalOutcome<A>
Auto Trait Implementations§
impl<A> Freeze for ReportTerminalOutcome<A>where
A: Freeze,
impl<A> RefUnwindSafe for ReportTerminalOutcome<A>where
A: RefUnwindSafe,
impl<A> Send for ReportTerminalOutcome<A>where
A: Send,
impl<A> Sync for ReportTerminalOutcome<A>where
A: Sync,
impl<A> Unpin for ReportTerminalOutcome<A>where
A: Unpin,
impl<A> UnsafeUnpin for ReportTerminalOutcome<A>where
A: UnsafeUnpin,
impl<A> UnwindSafe for ReportTerminalOutcome<A>where
A: 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
Mutably borrows from an owned value. Read more