pub enum ToolchainError {
RegistryError {
message: String,
},
CacheError {
message: String,
},
DigestMismatch {
tool: String,
expected: String,
actual: String,
},
ExecutorUnavailable {
tool: String,
},
RecipeUnsupported {
tool: String,
constructs: Vec<String>,
},
IoError(Error),
}Expand description
Errors raised while resolving or installing a runtime toolchain.
Variants§
RegistryError
Registry / download / resolution failure (Homebrew API, GHCR blob pull,
RepoSources discovery, archive extraction, …). Also covers
toolchain-artifact registry operations: publishing a built toolchain to
an OCI registry and pulling one back down.
CacheError
Cache or config-serialisation failure.
DigestMismatch
A downloaded artifact’s sha256 did not match the expected digest (either
a formula urls.stable.checksum, an upstream-published digest, or a
lockfile pin). The partial download is deleted before this is returned.
Fields
A containerized build step was required but no runtime executor has been registered. Toolchain builds must NEVER fall back to a host subprocess, so this is a hard error rather than a degraded path.
RecipeUnsupported
A build recipe uses constructs this crate’s recipe interpreter does not support, so the toolchain cannot be built from it.
Fields
IoError(Error)
Underlying I/O error.
Trait Implementations§
Source§impl Debug for ToolchainError
impl Debug for ToolchainError
Source§impl Display for ToolchainError
impl Display for ToolchainError
Source§impl Error for ToolchainError
impl Error for ToolchainError
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()
Auto Trait Implementations§
impl !RefUnwindSafe for ToolchainError
impl !UnwindSafe for ToolchainError
impl Freeze for ToolchainError
impl Send for ToolchainError
impl Sync for ToolchainError
impl Unpin for ToolchainError
impl UnsafeUnpin for ToolchainError
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> 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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.