pub trait ErrorInto<T, E> {
// Required method
fn err_into(self) -> Result<T, E>;
}
Expand description
Maps an error using Into::into
Short version of Result::map_err(self, Into::into)
that simplifies operation chains like
use err_into::ErrorInto;
fn get_data() -> Result<(), u8> {
Err(0u8)
}
fn handle_data_question_mark() -> Result<(), i32> {
// Can't be split into multiple lines
Ok(get_data()?)
}
fn handle_data_map_err() -> Result<(), i32> {
// Slightly harder to read
get_data().map_err(Into::into)
}
fn handle_data_err_into() -> Result<(), i32> {
get_data().err_into()
}
assert_eq!(handle_data_err_into(), handle_data_question_mark());
assert_eq!(handle_data_err_into(), handle_data_map_err());