cgp_error/traits/
can_raise_error.rs

1use cgp_component::{DelegateComponent, IsProviderFor, UseContext, UseDelegate};
2use cgp_macro::cgp_component;
3
4use crate::traits::has_error_type::HasErrorType;
5
6/**
7   The `CanRaiseError` trait is used to raise any concrete error type into
8   an abstract error provided by [`HasErrorType`].
9*/
10#[cgp_component {
11    provider: ErrorRaiser,
12    derive_delegate: UseDelegate<SourceError>,
13}]
14pub trait CanRaiseError<SourceError>: HasErrorType {
15    fn raise_error(error: SourceError) -> Self::Error;
16}