1use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum LowerError {
7 #[error("unsupported IR construct in lowering: {0}")]
8 UnsupportedConstruct(String),
9
10 #[error("invalid program: {0}")]
11 InvalidProgram(String),
12
13 #[error("operand id space exhausted (over u32::MAX values in one kernel)")]
14 OperandIdOverflow,
15
16 #[error("nested body depth exceeded reasonable limit ({0})")]
17 NestingTooDeep(usize),
18
19 #[error("buffer not declared but referenced: {0}")]
20 UndeclaredBuffer(String),
21}