use thiserror::Error;
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
#[derive(Debug, Error)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub enum RendererError {
#[error("Missing required context: {:?}" , .0)]
MissingContext(String),
#[error("Invalid conversion attempt during render.")]
BadConversion(#[from] ConversionError),
}
#[derive(Debug, Error)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub enum ConversionError {
#[error("The contained type does not match its target.")]
TypeMismatch,
}