golem_rib_repl/
rib_execution_error.rs

1use rib::{RibCompilationError, RibRuntimeError};
2use std::fmt::{Display, Formatter};
3
4#[derive(Debug)]
5pub enum RibExecutionError {
6    RibCompilationError(RibCompilationError),
7    RibRuntimeError(RibRuntimeError),
8    Custom(String),
9}
10
11impl std::error::Error for RibExecutionError {}
12
13impl Display for RibExecutionError {
14    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
15        match self {
16            RibExecutionError::RibCompilationError(err) => write!(f, "{err}"),
17            RibExecutionError::RibRuntimeError(err) => write!(f, "{err}"),
18            RibExecutionError::Custom(msg) => write!(f, "{msg}"),
19        }
20    }
21}