tuwunel_core/utils/result/
map_expect.rs1use std::fmt::Debug;
2
3use super::Result;
4
5pub trait MapExpect<'a, T> {
6 fn map_expect(self, msg: &'a str) -> T;
10}
11
12impl<'a, T, E: Debug> MapExpect<'a, Option<T>> for Option<Result<T, E>> {
13 #[inline]
14 fn map_expect(self, msg: &'a str) -> Option<T> { self.map(|result| result.expect(msg)) }
15}
16
17impl<'a, T, E: Debug> MapExpect<'a, Result<T, E>> for Result<Option<T>, E> {
18 #[inline]
19 fn map_expect(self, msg: &'a str) -> Result<T, E> { self.map(|result| result.expect(msg)) }
20}