pub enum VerificationStatus {
Passed,
Failed,
Skipped {
missing_metrics: String,
},
Error {
message: String,
},
}Expand description
Verification execution status with explicit states for all outcomes.
Critical Design Decision: Simple pass/fail boolean is insufficient. We need explicit states to distinguish:
- Skipped: Dependency benchmark crashed or was filtered out
- Error: Expression evaluation failed (typo, type mismatch)
- Passed/Failed: Actual verification result
Variants§
Passed
Verification passed (expression evaluated to non-zero/true)
Failed
Verification failed (expression evaluated to zero/false)
Skipped
Verification could not run - dependency data missing
Error
Verification encountered an error during evaluation
Implementations§
Source§impl VerificationStatus
impl VerificationStatus
Sourcepub fn is_success(&self) -> bool
pub fn is_success(&self) -> bool
Returns true if this is a Passed status.
Sourcepub fn is_failure(&self) -> bool
pub fn is_failure(&self) -> bool
Returns true if this is a Failed status.
Sourcepub fn is_actionable_failure(&self) -> bool
pub fn is_actionable_failure(&self) -> bool
Returns true if this is either Failed or Error (requires action).
Sourcepub fn affects_exit_code(&self, severity: Severity) -> bool
pub fn affects_exit_code(&self, severity: Severity) -> bool
Returns true if this status should cause CI to fail given the severity level.
Only critical failures and critical errors affect exit code; skipped verifications do not fail CI since the underlying dependency crash already did.
Trait Implementations§
Source§impl Clone for VerificationStatus
impl Clone for VerificationStatus
Source§fn clone(&self) -> VerificationStatus
fn clone(&self) -> VerificationStatus
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for VerificationStatus
impl Debug for VerificationStatus
Source§impl<'de> Deserialize<'de> for VerificationStatus
impl<'de> Deserialize<'de> for VerificationStatus
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<VerificationStatus, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<VerificationStatus, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for VerificationStatus
impl PartialEq for VerificationStatus
Source§impl Serialize for VerificationStatus
impl Serialize for VerificationStatus
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for VerificationStatus
Auto Trait Implementations§
impl Freeze for VerificationStatus
impl RefUnwindSafe for VerificationStatus
impl Send for VerificationStatus
impl Sync for VerificationStatus
impl Unpin for VerificationStatus
impl UnwindSafe for VerificationStatus
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.