Skip to main content

cgp_error/traits/
can_raise_error.rs

1use cgp::component::{DefaultNamespace, 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(ErrorRaiser)]
11#[prefix(@cgp.core.error in DefaultNamespace)]
12#[derive_delegate(UseDelegate<SourceError>)]
13#[use_type(HasErrorType.Error)]
14pub trait CanRaiseError<SourceError> {
15    fn raise_error(error: SourceError) -> Error;
16}