Enum Error

Source
pub enum Error {
    IoError(Error),
    WalkDirError(Error),
    NoArtefacts(PathBuf),
    MultipleArtefacts(PathBuf),
    UnrecognisedFormat(String),
    NoComponents,
    EmptyComponent(String),
    UnrecognisedManifestRule(String),
    WildPath(PathBuf, PathBuf),
}
Expand description

All the possible errors this crate can produce.

Variants§

§

IoError(Error)

A filesystem access or permission error.

Straight from std::io in the Rust standard library, this could be anything related to reading or writing the filesystem, including permission errors, missing files, or metadata files containing invalid UTF-8 data.

§

WalkDirError(Error)

A filesystem navigation error.

Straight from the walkdir crate, this error arises while interpreting artefact metadata and looking for all the files that belong to a component.

§

NoArtefacts(PathBuf)

The given source or stage contains no valid release artefacts.

Returned when an ExtractedArtefact is created from an archive or stage directory that does not contain release artefact metadata.

The included PathBuf is the absolute path to the directory that does not contain any artefacts.

§

MultipleArtefacts(PathBuf)

The given source or stage contains multiple release artefacts.

Returned when an ExtractedArtefact is created from an archive or stage directory that contains multiple sets of release artefact metadata. This is a problem because ExtractedArtefact can only represent a single artefact’s metadata.

The included PathBuf is the absolute path to the directory that contains multiple sets of artefact metadata.

§

UnrecognisedFormat(String)

The given source or stage contains artefact metadata in an unrecognised format.

Rust’s release artefacts include a marker file that describes which version of the metadata format they use. This error is returned when an ExtractedArtefact is created from an archive or stage directory that contains a marker file that mentions an unrecognised metadata format.

The included String is the content of the marker file.

§

NoComponents

The artefact metadata lists no components.

Returned when an ExtractedArtefact is created from an archive or stage directory whose metadata includes an empty list of components.

§

EmptyComponent(String)

A component contains no files.

Returned when an ExtractedArtefact is created from an archive or stage directory where a component’s manifest lists no files.

The included String is the name of the problem component.

§

UnrecognisedManifestRule(String)

A component’s manifest contains an unrecognised rule.

Returned when an ExtractedArtefact is created from an archive or stage directory where a component’s manifest (which is a list of rules describing which files this component installs) includes an unrecognised rule.

The included String is the text of the unrecognised rule.

§

WildPath(PathBuf, PathBuf)

While scanning for files inside a component, a file was found outside that component’s directory.

This should not be possible, so if it happens something has gone horribly wrong.

The included paths are the component directory being scanned, and the file that was found outside it, respectively.

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Error

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Error

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.