#[non_exhaustive]pub enum ErrorSource {
IoError(Arc<Error>),
Inaccessible(Error),
Permissions(Error),
NoLock,
Serde(Arc<Error>),
AlreadyLocked,
Bug(Bug),
}
Expand description
An underlying error manipulating persistent state.
Since these are more or less orthogonal to what we were doing and where the problem was, this is a separate type.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
IoError(Arc<Error>)
An IO error occurred.
Inaccessible(Error)
Inaccessible path, or permissions were incorrect
Permissions(Error)
👎Deprecated: use ErrorSource::Inaccessible instead
Inaccessible path, or permissions were incorrect
This variant name is misleading - see the docs for fs_mistrust::Error
.
Please use ErrorSource::Inaccessible
instead.
NoLock
Tried to save without holding an exclusive lock.
Serde(Arc<Error>)
Problem when serializing or deserializing JSON data.
AlreadyLocked
Another task or process holds this persistent state lock, but we need exclusive access
Bug(Bug)
Programming error
Trait Implementations§
Source§impl Clone for ErrorSource
impl Clone for ErrorSource
Source§fn clone(&self) -> ErrorSource
fn clone(&self) -> ErrorSource
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ErrorSource
impl Debug for ErrorSource
Source§impl Display for ErrorSource
impl Display for ErrorSource
Source§impl Error for ErrorSource
impl Error for ErrorSource
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<BadSlug> for ErrorSource
impl From<BadSlug> for ErrorSource
Source§fn from(bs: BadSlug) -> ErrorSource
fn from(bs: BadSlug) -> ErrorSource
Converts to this type from the input type.
Source§impl From<Bug> for ErrorSource
impl From<Bug> for ErrorSource
Source§impl From<Error> for ErrorSource
impl From<Error> for ErrorSource
Source§fn from(e: Error) -> ErrorSource
fn from(e: Error) -> ErrorSource
Converts to this type from the input type.
Source§impl From<Error> for ErrorSource
impl From<Error> for ErrorSource
Source§fn from(e: Error) -> ErrorSource
fn from(e: Error) -> ErrorSource
Converts to this type from the input type.
Source§impl From<Error> for ErrorSource
impl From<Error> for ErrorSource
Source§fn from(e: Error) -> ErrorSource
fn from(e: Error) -> ErrorSource
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ErrorSource
impl !RefUnwindSafe for ErrorSource
impl Send for ErrorSource
impl Sync for ErrorSource
impl Unpin for ErrorSource
impl !UnwindSafe for ErrorSource
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<E> ErrorReport for Ewhere
E: Error + 'static,
impl<E> ErrorReport for Ewhere
E: Error + 'static,
Source§fn report(&self) -> Report<ReportHelper<'_>>
fn report(&self) -> Report<ReportHelper<'_>>
Return an object that displays the error and its causes
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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 more