macro_map

Macro ok_or_else

Source
macro_rules! ok_or_else {
    ($result:expr, || $closure:expr) => { ... };
}
Expand description

An analog to Option::ok_or_else but without a closure.

use macro_map::ok_or_else;

let myoption: Option<&str> = None;

let mapped = ok_or_else!(myoption, || 123);

assert_eq!(mapped, Err(123));

Or with postfix-macros:

use macro_map::ok_or_else;
use postfix_macros::postfix_macros;

let myoption: Option<&str> = None;

postfix_macros! {
  let mapped = ok_or_else!(myoption, || 123);
}

assert_eq!(mapped, Err(123));