pub enum EffectDimension {
Snapshot,
Generative,
Output,
GenerativeOutput,
}Expand description
Proof dimension(s) an effect participates in. !-combinations are
modelled directly rather than as flags for readability at call sites.
Variants§
Snapshot
Stable within a run. Modelled as a plain reader function.
Generative
Fresh value per call. Modelled as a branch-indexed oracle.
Output
Trace-appending side-effect only. No oracle; assertions via trace API.
GenerativeOutput
Both generative (response value from oracle) and output (request
emitted to trace). Used by request/operation-style effects such as
Http.*, mutating Disk.*, and one-shot Tcp.*.
Trait Implementations§
Source§impl Clone for EffectDimension
impl Clone for EffectDimension
Source§fn clone(&self) -> EffectDimension
fn clone(&self) -> EffectDimension
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EffectDimension
impl Debug for EffectDimension
Source§impl PartialEq for EffectDimension
impl PartialEq for EffectDimension
Source§fn eq(&self, other: &EffectDimension) -> bool
fn eq(&self, other: &EffectDimension) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for EffectDimension
impl Eq for EffectDimension
impl StructuralPartialEq for EffectDimension
Auto Trait Implementations§
impl Freeze for EffectDimension
impl RefUnwindSafe for EffectDimension
impl Send for EffectDimension
impl Sync for EffectDimension
impl Unpin for EffectDimension
impl UnsafeUnpin for EffectDimension
impl UnwindSafe for EffectDimension
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.