#[non_exhaustive]pub enum IndexError {
Parse(ParseError),
Io {
path: Option<PathBuf>,
source: Error,
},
UnsupportedPlatform(u16),
Cancelled,
SourceUnavailable {
target_offset: u64,
length: u32,
},
PatchSourceTooShort {
offset: u64,
requested: usize,
},
PatchIndexOutOfRange {
patch: PatchIndex,
count: usize,
},
UnsafeTargetPath(String),
SchemaVersionMismatch {
kind: &'static str,
found: SchemaVersion,
expected: SchemaVersion,
},
DuplicatePatch {
name: String,
},
InvalidField {
context: &'static str,
},
}Expand description
Failures produced by the indexed pipeline (crate::index).
#[non_exhaustive]: the indexed pipeline is the youngest layer and
has the highest expected churn in surfaced failure modes.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Parse(ParseError)
A parse failure surfaced while the plan builder was scanning chunks.
Io
An I/O failure during plan building, source reads, or indexed apply.
Fields
source: ErrorUnderlying std::io::Error.
UnsupportedPlatform(u16)
SqPack path resolution refused to fall back to a default platform layout.
Cancelled
Indexed apply was cancelled by an observer or checkpoint signal.
An indexed-apply plan referenced a region whose source bytes are not reachable from the current applier.
PatchSourceTooShort
A crate::index::PatchSource::read call could not fill the requested
buffer.
Fields
PatchIndexOutOfRange
A crate::index::PatchSource::read call asked for a patch index
outside the source’s configured chain.
Fields
patch: PatchIndexIndex that was requested.
UnsafeTargetPath(String)
An indexed-plan target or filesystem-op carried a path that escapes the install root.
SchemaVersionMismatch
A persisted record’s schema_version does not match this build.
DuplicatePatch
Two patches in the same chain shared a name.
InvalidField
A field value failed a builder invariant.
Trait Implementations§
Source§impl Debug for IndexError
impl Debug for IndexError
Source§impl Display for IndexError
impl Display for IndexError
Source§impl Error for IndexError
impl Error for IndexError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<ApplyError> for IndexError
impl From<ApplyError> for IndexError
Source§fn from(err: ApplyError) -> Self
fn from(err: ApplyError) -> Self
Source§impl From<Error> for IndexError
impl From<Error> for IndexError
Source§impl From<IndexError> for Error
impl From<IndexError> for Error
Source§fn from(source: IndexError) -> Self
fn from(source: IndexError) -> Self
Source§impl From<ParseError> for IndexError
impl From<ParseError> for IndexError
Source§fn from(source: ParseError) -> Self
fn from(source: ParseError) -> Self
Auto Trait Implementations§
impl Freeze for IndexError
impl !RefUnwindSafe for IndexError
impl Send for IndexError
impl Sync for IndexError
impl Unpin for IndexError
impl UnsafeUnpin for IndexError
impl !UnwindSafe for IndexError
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> CustomError for T
impl<T> CustomError for T
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