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}