pub enum Error {
InvalidInput(String),
UnknownMember(String),
Io {
operation: &'static str,
source: Error,
},
UpdateInProgress {
lock: PathBuf,
},
DestinationConflict {
destination: PathBuf,
},
VerificationFailed(String),
CandidateExecution(String),
}Expand description
The error type of every eggup-core fallible entry point.
Error is a closed enum with exactly the seven variants below, so a
downstream exhaustive match compiles unchanged. It covers both the
pre-transaction failures (plan validation, private stage creation and copy)
and the commit-time failures that are returned as Err rather than as a
receipt: lock contention (UpdateInProgress), a preflight ownership
conflict (DestinationConflict), failed integrity or candidate evidence
(VerificationFailed, CandidateExecution), and live filesystem failures
(Io).
Everything reached after the mutation lock is held is reported through a
crate::TransactionReceipt, not through this type: an ownership conflict
or flap produces a RolledBack receipt, and a failure that cannot be
resolved produces a RecoveryRequired receipt with a real
recovery_path. See architecture/core-transaction.md §8 “Failure
semantics”.
Variants§
InvalidInput(String)
A caller supplied a value that violates a core invariant.
UnknownMember(String)
The requested member was not present in the artifact set.
Io
An owned filesystem operation failed.
Fields
UpdateInProgress
Another process or an ambiguous lock record owns the installation domain.
DestinationConflict
A live destination failed the immediate pre-mutation ownership check.
VerificationFailed(String)
Declared integrity or candidate identity evidence did not pass.
CandidateExecution(String)
Candidate execution could not produce an accepted bounded result.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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()