pub enum TopologicalError {
Cyclic {
unordered: Vec<NodeId>,
},
Undirected,
}Expand description
Why a topological order could not be produced.
Variants§
Cyclic
The graph contains a cycle, so no ordering exists.
The nodes reported are those left unordered — every one of them lies on, or downstream of, a cycle. That is what a caller needs in order to say which dependencies are circular.
Undirected
The graph is undirected, where a topological order is not defined.
Trait Implementations§
Source§impl Clone for TopologicalError
impl Clone for TopologicalError
Source§impl Debug for TopologicalError
impl Debug for TopologicalError
Source§impl Display for TopologicalError
impl Display for TopologicalError
impl Eq for TopologicalError
Source§impl Error for TopologicalError
impl Error for TopologicalError
1.30.0 · 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 PartialEq for TopologicalError
impl PartialEq for TopologicalError
impl StructuralPartialEq for TopologicalError
Auto Trait Implementations§
impl Freeze for TopologicalError
impl RefUnwindSafe for TopologicalError
impl Send for TopologicalError
impl Sync for TopologicalError
impl Unpin for TopologicalError
impl UnsafeUnpin for TopologicalError
impl UnwindSafe for TopologicalError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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