wolf_graph/details/
error.rs

1use thiserror::Error;
2
3use crate::{EdgeID, NodeID};
4
5/// Error type for graph operations.
6#[derive(Debug, Error)]
7pub enum Error {
8    #[error("node not found: {0}")]
9    NodeNotFound(NodeID),
10    #[error("edge not found: {0}")]
11    EdgeNotFound(EdgeID),
12    #[error("duplicate node: {0}")]
13    DuplicateNode(NodeID),
14    #[error("duplicate edge: {0}")]
15    DuplicateEdge(EdgeID),
16    #[error("not a DAG")]
17    NotADAG,
18    #[error("not a tree")]
19    NotATree,
20    #[error("not a compound")]
21    NotACompound,
22}