Result::map_err()
Преобразует тип ошибки внутри Err.
Сигнатура
fn map_err<O, F: FnOnce(E) -> O>(self, f: F) -> Result<T, O>Применяет функцию к значению внутри Err, оставляя Ok без изменений. Удобно для приведения ошибок к своему типу.
let r: Result<i32, &str> = Err("bad");
let r2 = r.map_err(|e| format!("ошибка: {}", e));
println!("{:?}", r2); // Err("ошибка: bad")