structured_pkix/error/
callback.rs1use core::fmt;
4
5#[derive(Debug)]
10pub enum CallbackError<E> {
11 Processing(super::Error),
13 Callback(E),
15}
16
17impl<E> From<super::Error> for CallbackError<E> {
18 fn from(error: super::Error) -> Self {
19 Self::Processing(error)
20 }
21}
22
23impl<E: fmt::Display> fmt::Display for CallbackError<E> {
24 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
25 match self {
26 Self::Processing(error) => error.fmt(f),
27 Self::Callback(error) => write!(f, "callback: {error}"),
28 }
29 }
30}
31
32impl<E: core::error::Error + 'static> core::error::Error for CallbackError<E> {
33 fn source(&self) -> Option<&(dyn core::error::Error + 'static)> {
34 match self {
35 Self::Processing(error) => Some(error),
36 Self::Callback(error) => Some(error),
37 }
38 }
39}
40
41pub type CallbackResult<T, E> = core::result::Result<T, CallbackError<E>>;