use std::error::Error;
use super::TemplateProcessingException;
pub trait TemplateEngineException: Error + Send + Sync + 'static {
fn as_processing_exception_mut(&mut self) -> Option<&mut TemplateProcessingException> {
None
}
}
#[cfg(test)]
mod tests {
use super::TemplateEngineException;
use crate::exceptions::{
AlreadyInitializedException, CacheConfigurationException, ConfigurationException,
ParserInitializationException, TemplateInputException, TemplateOutputException,
TemplateProcessingException,
};
#[test]
fn all_java_subtypes_implement_the_common_contract() {
fn assert_contract<T: TemplateEngineException>() {}
assert_contract::<AlreadyInitializedException>();
assert_contract::<CacheConfigurationException>();
assert_contract::<ConfigurationException>();
assert_contract::<ParserInitializationException>();
assert_contract::<TemplateInputException>();
assert_contract::<TemplateOutputException>();
assert_contract::<TemplateProcessingException>();
}
}