pub enum StructuralSkipReason {
NonRegistrySource,
UnmappableName,
UnmappableEcosystem,
}Expand description
The subset of SkipReason that is structural (see SkipReason::is_structural).
Permanent for as long as a dependency is declared the way it is, never resolved merely by a
retry. The only reasons UpgradeStatus::StructurallyUnchecked and
CandidateStatuses::Structural can hold, so a transient reason (e.g.
SkipReason::QueryFailed) is structurally impossible to store as “this dependency is
never checked against OSV” (issue #1624) — unlike a bare SkipReason payload, which would
let a future producer bug (or test fixture) construct e.g. StructurallyUnchecked(QueryFailed)
and have it silently resolve to NotApplicable (fail-open) instead of Unverified, since
nothing but an unenforced runtime is_structural() check would catch it.
§Examples
use deps_core::osv::{SkipReason, StructuralSkipReason};
assert_eq!(
StructuralSkipReason::NonRegistrySource.as_skip_reason(),
SkipReason::NonRegistrySource
);
assert_eq!(
SkipReason::from(StructuralSkipReason::UnmappableName),
SkipReason::UnmappableName
);Variants§
Implementations§
Source§impl StructuralSkipReason
impl StructuralSkipReason
Sourcepub const fn as_skip_reason(self) -> SkipReason
pub const fn as_skip_reason(self) -> SkipReason
Widens to the full SkipReason enum, e.g. to reuse
SkipReason::unchecked_reason/SkipReason::as_str for rendering or logging.
Trait Implementations§
Source§impl Clone for StructuralSkipReason
impl Clone for StructuralSkipReason
impl Copy for StructuralSkipReason
Source§impl Debug for StructuralSkipReason
impl Debug for StructuralSkipReason
impl Eq for StructuralSkipReason
Source§impl From<StructuralSkipReason> for SkipReason
impl From<StructuralSkipReason> for SkipReason
Source§fn from(value: StructuralSkipReason) -> Self
fn from(value: StructuralSkipReason) -> Self
Source§impl PartialEq for StructuralSkipReason
impl PartialEq for StructuralSkipReason
impl StructuralPartialEq for StructuralSkipReason
Auto Trait Implementations§
impl Freeze for StructuralSkipReason
impl RefUnwindSafe for StructuralSkipReason
impl Send for StructuralSkipReason
impl Sync for StructuralSkipReason
impl Unpin for StructuralSkipReason
impl UnsafeUnpin for StructuralSkipReason
impl UnwindSafe for StructuralSkipReason
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
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§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
key and return true if they are equal.