1use thiserror::Error;
2
3pub type Result<T> = std::result::Result<T, OptimizationError>;
4
5#[derive(Error, Debug)]
6pub enum OptimizationError {
7 #[error("Optimization pass failed: {pass_name} - {reason}")]
8 PassFailed { pass_name: String, reason: String },
9
10 #[error("Invalid graph structure: {0}")]
11 InvalidGraph(String),
12
13 #[error("Constant folding error: {0}")]
14 ConstantFoldingError(String),
15
16 #[error("Node fusion error: {0}")]
17 NodeFusionError(String),
18
19 #[error("Layout optimization error: {0}")]
20 LayoutError(String),
21
22 #[error("Core runtime error: {0}")]
23 CoreError(#[from] ronn_core::error::CoreError),
24}