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}