use std::marker::PhantomData;
#[derive(Debug, Clone, Copy)]
pub struct OkInspectStep<OkType, InspectorFn>
where
InspectorFn: Fn(&OkType),
{
inspector: InspectorFn,
_phantom: PhantomData<OkType>,
}
impl<InspectorFn, OkType> OkInspectStep<OkType, InspectorFn>
where
InspectorFn: Fn(&OkType),
{
pub const fn new(inspector: InspectorFn) -> Self {
Self {
inspector,
_phantom: PhantomData,
}
}
pub(crate) fn apply(&self, input_err: OkType) -> OkType {
(self.inspector)(&input_err);
input_err
}
}