Macro helper::try_option
source · [−]try_option!() { /* proc-macro */ }
Expand description
Unwrap std::option::Option
, if none, return the alternative value.
try_option!(..)
expand to match .. { Some(x) => x, None => return, }
.
try_option!(.. ? ..)
expand to match .. { Some(x) => x, None => return .. }
.
Example
use helper::try_option;
fn foo(b: &mut bool) {
try_option!(Some(()));
*b = true
}
let mut b = false;
foo(&mut b);
assert!(b);
fn bar() -> bool {
let x = try_option!(Some("bar") ? false);
x == "bar"
}
assert!(bar());