Trait ErrorInto

Source
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());

Required Methods§

Source

fn err_into(self) -> Result<T, E>

Implementations on Foreign Types§

Source§

impl<T, E, F> ErrorInto<T, E> for Result<T, F>
where F: Into<E>,

Source§

fn err_into(self) -> Result<T, E>

Implementors§