pub enum StageFailure {
Unavailable(Error),
Unverifiable(Error),
}Expand description
Why a row the signed index names could not be staged.
The two are not the same failure and must not be handled the same way. Bytes that never arrived are the ordinary state of a cache: the crate has not been built for this slice yet, the edge is unreachable, GHCR returned a 404. Bytes that arrived and then failed the digest, identity or signature check are not ordinary at all — the signed index vouched for that artifact, so either the publisher produced something it cannot stand behind or someone has write access to the registry they should not have. Compiling quietly past that would hide the one class of bug the whole verification chain exists to surface, and it would hide it on the machine that produces what every user installs.
Variants§
The bundle never arrived. The unit compiles; nothing is wrong.
Unverifiable(Error)
The bundle arrived and did not verify against what the signed index vouches for.
Trait Implementations§
Source§impl Debug for StageFailure
impl Debug for StageFailure
Auto Trait Implementations§
impl Freeze for StageFailure
impl RefUnwindSafe for StageFailure
impl Send for StageFailure
impl Sync for StageFailure
impl Unpin for StageFailure
impl UnsafeUnpin for StageFailure
impl UnwindSafe for StageFailure
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> BorrowUnordered for T
impl<T> BorrowUnordered for T
fn as_unordered(&self) -> &Unordered<T>
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 more