use crate::error::ValidationErrors;
pub trait Validate {
fn validate(&self) -> Result<(), ValidationErrors>;
fn validate_with_context(&self, _ctx: &dyn std::any::Any) -> Result<(), ValidationErrors> {
self.validate()
}
}
impl<T: Validate> Validate for Box<T> {
fn validate(&self) -> Result<(), ValidationErrors> {
(**self).validate()
}
}
impl<T: Validate> Validate for std::sync::Arc<T> {
fn validate(&self) -> Result<(), ValidationErrors> {
(**self).validate()
}
}
impl<T: Validate> Validate for std::rc::Rc<T> {
fn validate(&self) -> Result<(), ValidationErrors> {
(**self).validate()
}
}