pub enum InstallerError {
MissingDependency {
name: String,
hint: Option<String>,
},
PythonVersionUnsupported {
detected: String,
minimum: String,
maximum: Option<String>,
},
PythonNotFound {
detail: String,
},
CommandFailed {
command: String,
exit_code: Option<i32>,
stderr: String,
},
EnvError {
var: String,
detail: String,
},
PathNotFound {
path: String,
purpose: String,
},
NvidiaContamination {
packages: Vec<String>,
},
PackageBlocked {
package: String,
component: String,
},
RocmNotFound {
detail: String,
},
VenvError {
path: String,
detail: String,
},
Other {
message: String,
},
}Expand description
Common error types for installer operations.
Each variant represents a distinct failure mode encountered during
component installation. All variants produce human-readable error
messages via Display and integrate with std::error::Error.
§Validation
- VAL-INFRA-009: InstallerError enum with common failure modes
- VAL-INFRA-022: Graceful handling of missing dependencies (no panics)
Variants§
MissingDependency
A required dependency is missing (command not found).
Fields
PythonVersionUnsupported
Python version is not in the supported range.
Fields
PythonNotFound
Python interpreter not found.
CommandFailed
A subprocess command failed.
Fields
EnvError
An environment variable is missing or invalid.
PathNotFound
A required file or directory does not exist.
NvidiaContamination
NVIDIA/CUDA contamination detected in Python environment.
PackageBlocked
Package installation blocked by guard policy.
Fields
RocmNotFound
ROCm installation not found or invalid.
VenvError
Virtual environment error.
Other
Generic error with message.
Trait Implementations§
Source§impl Debug for InstallerError
impl Debug for InstallerError
Source§impl Display for InstallerError
impl Display for InstallerError
Source§impl Error for InstallerError
impl Error for InstallerError
1.30.0 · 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 Freeze for InstallerError
impl RefUnwindSafe for InstallerError
impl Send for InstallerError
impl Sync for InstallerError
impl Unpin for InstallerError
impl UnsafeUnpin for InstallerError
impl UnwindSafe for InstallerError
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> 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 moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read moreSource§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.