use crate::rvm::vm::VmError;
use alloc::string::String;
use thiserror::Error;
#[derive(Error, Debug, Clone, PartialEq)]
#[non_exhaustive]
pub enum ExplainError {
#[error("explanations were not enabled for this evaluation")]
NotEnabled,
#[error("emission index {index} is out of range for rule `{rule}` ({available} emissions)")]
EmissionIndexOutOfRange {
rule: String,
index: usize,
available: usize,
},
#[error(transparent)]
Vm(#[from] VmError),
}