pub enum GraphError {
NodeNotFound(NodeId),
EdgeAlreadyExists(NodeId, NodeId),
SelfLoop(NodeId),
NegativeCycle,
NotConnected,
InvalidOperation(&'static str),
}Expand description
Errors that can arise from graph operations.
Methods that mutate or query a graph return Result<T, GraphError>
whenever the operation could meaningfully fail (e.g. referencing a
node that does not exist).
§Examples
use graph_core::{GraphError, NodeId};
let err = GraphError::NodeNotFound(NodeId::new(99));
assert!(matches!(err, GraphError::NodeNotFound(_)));Variants§
NodeNotFound(NodeId)
The referenced node does not exist in the graph.
EdgeAlreadyExists(NodeId, NodeId)
An edge between these two nodes already exists.
SelfLoop(NodeId)
The operation would create a self-loop, which is disallowed.
NegativeCycle
A negative-weight cycle was detected (Bellman-Ford / Floyd-Warshall).
NotConnected
The graph is not connected where connectivity is required (e.g. MST).
InvalidOperation(&'static str)
A catch-all for operations that are invalid in the current context.
Trait Implementations§
Source§impl Clone for GraphError
impl Clone for GraphError
Source§fn clone(&self) -> GraphError
fn clone(&self) -> GraphError
Returns a duplicate 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 GraphError
impl Debug for GraphError
Source§impl Display for GraphError
impl Display for GraphError
Source§impl Error for GraphError
impl Error for GraphError
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 GraphError
impl PartialEq for GraphError
impl StructuralPartialEq for GraphError
Auto Trait Implementations§
impl Freeze for GraphError
impl RefUnwindSafe for GraphError
impl Send for GraphError
impl Sync for GraphError
impl Unpin for GraphError
impl UnwindSafe for GraphError
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