pub enum DifferentialExpect {
Changed,
Unchanged,
DeltaWithin {
min: Option<f64>,
max: Option<f64>,
},
}Expand description
The differential claims the runtime can decide. Matching is exhaustive everywhere — a new variant must be handled at every site or the build fails, which is the point.
Variants§
Changed
The output must differ from the captured baseline (“this trace now appears and did not before”, “the heartbeat flipped”).
Unchanged
The output must be identical to the captured baseline — the control-group claim (“the other tenant’s rows did not move”).
DeltaWithin
Both outputs must carry a number, and after - before must fall within
the stated bounds (either side optional, at least one required —
OutcomeContract::validate rejects the unbounded form). “Orphaned
rows fell by at least 100” is { "max": -100.0 }.
Trait Implementations§
Source§impl Clone for DifferentialExpect
impl Clone for DifferentialExpect
Source§impl Debug for DifferentialExpect
impl Debug for DifferentialExpect
Source§impl<'de> Deserialize<'de> for DifferentialExpect
impl<'de> Deserialize<'de> for DifferentialExpect
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for DifferentialExpect
impl PartialEq for DifferentialExpect
Source§impl Serialize for DifferentialExpect
impl Serialize for DifferentialExpect
impl StructuralPartialEq for DifferentialExpect
Auto Trait Implementations§
impl Freeze for DifferentialExpect
impl RefUnwindSafe for DifferentialExpect
impl Send for DifferentialExpect
impl Sync for DifferentialExpect
impl Unpin for DifferentialExpect
impl UnsafeUnpin for DifferentialExpect
impl UnwindSafe for DifferentialExpect
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more