Skip to main content

SendSettlements

Trait SendSettlements 

Source
pub trait SendSettlements: Sized {
    type Settlements: Send + ClassifySettlement;

    // Required method
    fn unattempted(self) -> Self::Settlements;
}
Expand description

Static settlement product determined solely by one concrete sends value.

Every action item declares its own accepted, rejection, and prerequisite types. A containing product therefore has one settlement type under every conforming interpreter. unattempted preserves every item untouched after an earlier corrupt item stops traversal.

A runtime cannot select another settlement product for the same sends value:

ⓘ
struct RuntimeSettlement;

fn runtime_selected<Runtime>(
    requests: behavior::InterpreterRequests<behavior::ReportToParent<u8>>,
    runtime: &mut Runtime,
) -> impl core::future::Future<
    Output = behavior::Interpretation<RuntimeSettlement>,
> + Send
where
    Runtime: behavior::InterpretItem<
        behavior::ReportToParent<u8>,
        (),
        behavior::Here,
    >,
{
    <behavior::InterpreterRequests<behavior::ReportToParent<u8>> as
        behavior::InterpretSends<Runtime, (), behavior::Here>>::interpret(
            requests,
            runtime,
        )
}

Required Associated Types§

Source

type Settlements: Send + ClassifySettlement

Complete settlement product corresponding to Self.

Required Methods§

Source

fn unattempted(self) -> Self::Settlements

Preserve every item without granting interpretation authority.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl SendSettlements for Vec<Never>

Source§

impl<Item> SendSettlements for Vec<Item>
where Item: ActionItem,

Implementors§