core_utils/errors/
circuit_error.rs

1use crate::types::Label;
2
3#[derive(Debug, Clone, Eq, PartialEq)]
4pub enum CircuitError {
5    DanglingWire(Label),
6    CyclicDependency,
7    InvalidGate(Label),
8}
9
10impl std::fmt::Display for CircuitError {
11    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12        match &self {
13            CircuitError::DanglingWire(i) => write!(f, "Dangling wire in circuit: {i}"),
14            CircuitError::InvalidGate(i) => write!(f, "Invalid gate used: {i}"),
15            CircuitError::CyclicDependency => write!(f, "Cyclic dependency in circuit"),
16        }
17    }
18}
19
20impl std::error::Error for CircuitError {}