1use thiserror::Error;
4
5#[derive(Error, Debug)]
6pub enum CodegenError {
7 #[error("Transpilation error: {0}")]
8 Transpilation(String),
9
10 #[error("Optimization error: {0}")]
11 Optimization(String),
12
13 #[error("Validation error: {0}")]
14 Validation(String),
15
16 #[error("Unsupported expression: {0}")]
17 UnsupportedExpression(String),
18
19 #[error("Invalid variable: {0}")]
20 InvalidVariable(String),
21
22 #[error("Shader compilation error: {0}")]
23 Compilation(String),
24
25 #[error("Naga error: {0}")]
26 Naga(#[from] naga::front::wgsl::ParseError),
27}
28
29pub type Result<T> = std::result::Result<T, CodegenError>;