#[non_exhaustive]pub enum Error {
Show 24 variants
GitHub(Error),
Io(Error),
Semver(Error),
Reqwest(Error),
Minisign(Error),
Http(Error),
InvalidHeaderValue(InvalidHeaderValue),
InvalidHeaderName(InvalidHeaderName),
UnsupportedArch,
UnsupportedOs,
AssetNotFound,
FailedToDetermineExtractPath,
InsecureTransportProtocol,
TargetNotFound(String),
MissingSignatureAsset(String),
Network(String),
InvalidUpdaterFormat,
TempDirNotFound,
InsufficientPrivileges,
FileInUse,
InstallerExecutionFailed(i32),
UserCancelledElevation,
Json(Error),
Time(Parse),
}Expand description
Errors produced by release discovery, download, verification, and installation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
GitHub(Error)
GitHub API or connector error.
Io(Error)
Filesystem or process I/O error.
Semver(Error)
Semantic-version parsing error.
Reqwest(Error)
HTTP request or response-body error.
Minisign(Error)
Minisign decode or verification error.
Http(Error)
Generic HTTP protocol or header construction error.
InvalidHeaderValue(InvalidHeaderValue)
Invalid HTTP header value.
InvalidHeaderName(InvalidHeaderName)
Invalid HTTP header name.
UnsupportedArch
The current CPU architecture is not supported.
UnsupportedOs
The current operating system is not supported.
AssetNotFound
No suitable artifact could be found for the requested target.
FailedToDetermineExtractPath
The install target path could not be derived from the executable path.
InsecureTransportProtocol
An update endpoint used an insecure transport protocol.
TargetNotFound(String)
The requested platform key was not present in the remote release metadata.
MissingSignatureAsset(String)
A matching detached signature asset was not found for the selected artifact.
Network(String)
Generic network or transport failure represented as a message.
InvalidUpdaterFormat
Downloaded installer or archive bytes did not match the expected format.
TempDirNotFound
Temporary staging directory creation failed.
InsufficientPrivileges
Windows elevation or installer execution was denied.
FileInUse
Windows installer could not proceed because files are in use.
InstallerExecutionFailed(i32)
Windows installer launch returned an execution error code.
UserCancelledElevation
Windows elevation prompt was cancelled by the user.
Json(Error)
JSON parsing or serialization error.
Time(Parse)
RFC3339 or other time parsing error.
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()
Source§impl From<InvalidHeaderName> for Error
impl From<InvalidHeaderName> for Error
Source§fn from(source: InvalidHeaderName) -> Self
fn from(source: InvalidHeaderName) -> Self
Source§impl From<InvalidHeaderValue> for Error
impl From<InvalidHeaderValue> for Error
Source§fn from(source: InvalidHeaderValue) -> Self
fn from(source: InvalidHeaderValue) -> Self
Auto Trait Implementations§
impl !Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl !UnwindSafe for Error
Blanket Implementations§
Source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
Source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
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> 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.