macro_rules! try_ok_or_else {
($result:expr, || $closure:expr) => { ... };
}Expand description
An analog to Result::map_err followed by a ? but without a closure.
use macro_map::try_ok_or_else;
fn myfn() -> Result<(), i64> {
let myoption: Option<&str> = None;
try_ok_or_else!(myoption, || 123);
Ok(())
}
let mapped = myfn();
assert_eq!(mapped, Err(123));Or with postfix-macros:
use macro_map::try_ok_or_else;
use postfix_macros::postfix_macros;
fn myfn() -> Result<(), i64> {
postfix_macros! {
let myoption: Option<&str> = None;
myoption.try_ok_or_else!(|| 123);
Ok(())
}
}
let mapped = myfn();
assert_eq!(mapped, Err(123));