rust_helpers/result_ext.rs
1pub trait ResultExt<T, E> {
2 fn map_into<U>(self) -> Result<U, E>
3 where
4 U: From<T>;
5 fn map_err_into<F>(self) -> Result<T, F>
6 where
7 F: From<E>;
8}
9
10impl<T, E> ResultExt<T, E> for Result<T, E> {
11 fn map_into<U>(self) -> Result<U, E>
12 where
13 U: From<T>,
14 {
15 self.map(Into::into)
16 }
17
18 fn map_err_into<F>(self) -> Result<T, F>
19 where
20 F: From<E>,
21 {
22 self.map_err(Into::into)
23 }
24}