1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::sealed::Sealed;

pub trait ResultExt<T, E>: Sealed {
    fn inspect_err_(self, f: impl FnOnce(&E)) -> Self;
}

impl<T, E> Sealed for Result<T, E> {}

impl<T, E> ResultExt<T, E> for Result<T, E> {
    fn inspect_err_(self, f: impl FnOnce(&E)) -> Self {
        self.map_err(|e| {
            f(&e);
            e
        })
    }
}