pub struct Actions<A: Address, Ph, Sends, Birth: BirthMode> {
pub sends: Sends,
pub creates: Vec<Create<A, Birth::Child>>,
pub become_: Become<A, Ph>,
}Expand description
Exactly Agha’s effect triple, with a Bombay interpretation-order policy.
An interpreter installs every fresh actor in creates before interpreting
any delivery in sends from this value. This makes recipients created by a
transition available to that transition’s sends, including service
protocols that observe a fresh child. Creation order is vector order, and
each concrete send lane retains its own order; this contract does not
impose an order between independent lanes of a SendProduct.
The ordering rule belongs to the interpreter boundary. Constructing an
Actions value remains pure and performs none of its effects.
Fields§
§sends: Sends§creates: Vec<Create<A, Birth::Child>>§become_: Become<A, Ph>Implementations§
Auto Trait Implementations§
impl<A, Ph, Sends, Birth> Freeze for Actions<A, Ph, Sends, Birth>
impl<A, Ph, Sends, Birth> RefUnwindSafe for Actions<A, Ph, Sends, Birth>where
Sends: RefUnwindSafe,
Ph: RefUnwindSafe,
A: RefUnwindSafe,
<A as Address>::Nonce: RefUnwindSafe,
<Birth as BirthMode>::Child: RefUnwindSafe,
impl<A, Ph, Sends, Birth> Send for Actions<A, Ph, Sends, Birth>
impl<A, Ph, Sends, Birth> Sync for Actions<A, Ph, Sends, Birth>
impl<A, Ph, Sends, Birth> Unpin for Actions<A, Ph, Sends, Birth>
impl<A, Ph, Sends, Birth> UnsafeUnpin for Actions<A, Ph, Sends, Birth>
impl<A, Ph, Sends, Birth> UnwindSafe for Actions<A, Ph, Sends, Birth>where
Sends: UnwindSafe,
Ph: UnwindSafe,
A: UnwindSafe,
<A as Address>::Nonce: UnwindSafe,
<Birth as BirthMode>::Child: 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