pub trait Slicable<'a, L: Location<'a>> {
type Slice;
type Backtrace;
// Required methods
fn preferred_tick(&self) -> Option<Tick<L>>;
fn get_location(&self) -> &L;
fn slice(
self,
tick: &Tick<L>,
backtrace: Self::Backtrace,
nondet: NonDet,
) -> Self::Slice;
}Expand description
A trait for live collections which can be sliced into bounded versions at a tick.
Required Associated Types§
Required Methods§
Sourcefn preferred_tick(&self) -> Option<Tick<L>>
fn preferred_tick(&self) -> Option<Tick<L>>
Gets the preferred tick to slice at. Used for atomic slicing.
Sourcefn get_location(&self) -> &L
fn get_location(&self) -> &L
Gets the location associated with this live collection.
Sourcefn slice(
self,
tick: &Tick<L>,
backtrace: Self::Backtrace,
nondet: NonDet,
) -> Self::Slice
fn slice( self, tick: &Tick<L>, backtrace: Self::Backtrace, nondet: NonDet, ) -> Self::Slice
Slices this live collection at the given tick.
§Non-Determinism
Slicing a live collection may involve non-determinism, such as choosing which messages
to include in a batch. The provided nondet parameter should be used to explain the impact
of this non-determinism on the program’s behavior.