pub trait Call<'a, K> where
    K: Kind
{ type Staged: Commit<Item = Self::Committed>; type Committed: Collect<Item = Self::Collected>; type Collected; fn stage(self, alloc: &mut impl Allocator) -> Result<Self::Staged>; }
Expand description

An executable call.

Required Associated Types

Opaque staged value, which returns Self::Committed when committed via Commit::commit.

This is designed to serve as a container for data allocated within stage.

Opaque committed value returned by Commit::commit called upon Self::Staged, which is, in turn, passed to Collect::collect to yield a Self::Collected.

Value call collects as.

For example, a syscall return value.

Required Methods

Allocate data, if necessary and return resulting opaque staged value on success.

Implementations on Foreign Types

Implementors