pub enum DagError {
VertexNotFound(VertexName),
IdNotFound(Id),
NeedSlowPath(String),
Programming(String),
Bug(String),
Backend(Box<BackendError>),
IdOverflow(Group),
}Expand description
Error used by the Dag crate.
Variants§
VertexNotFound(VertexName)
A vertex name cannot be found.
IdNotFound(Id)
An Id cannot be found.
NeedSlowPath(String)
A fast path cannot be used.
Programming(String)
Callsite does something wrong. For example, a “parent function” does not return reproducible results for a same vertex if called twice.
Bug(String)
Logic error in this crate. A bug in this crate or the backend data.
Backend(Box<BackendError>)
The backend (ex. filesystem) cannot fulfill the request somehow.
IdOverflow(Group)
No space for new Ids.
Trait Implementations§
Source§impl Error for DagError
impl Error for DagError
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<BackendError> for DagError
impl From<BackendError> for DagError
Source§fn from(err: BackendError) -> DagError
fn from(err: BackendError) -> DagError
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for DagError
impl !RefUnwindSafe for DagError
impl Send for DagError
impl Sync for DagError
impl Unpin for DagError
impl !UnwindSafe for DagError
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> 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>
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