cgp_error/
can_raise_error.rsuse cgp_component::{cgp_component, DelegateComponent, HasComponents, UseDelegate};
use crate::has_error_type::HasErrorType;
#[cgp_component {
provider: ErrorRaiser
}]
pub trait CanRaiseError<E>: HasErrorType {
fn raise_error(e: E) -> Self::Error;
}
impl<Context, Error, Components, Delegate> ErrorRaiser<Context, Error> for UseDelegate<Components>
where
Context: HasErrorType,
Components: DelegateComponent<Error, Delegate = Delegate>,
Delegate: ErrorRaiser<Context, Error>,
{
fn raise_error(e: Error) -> Context::Error {
Delegate::raise_error(e)
}
}