Macro parser_fuck::try_do
source · macro_rules! try_do { { $v:expr ; Some($n:ident) $b:block } => { ... }; { $v:expr ; Ok($n:ident) $b:block } => { ... }; }
Expand description
try but no return
Example
let a = Some(1);
let r = try_do!(a; Some(v) {
Some(v + 1)
});
assert_eq!(r, Some(2));
let a: Result<i32, ()> = Ok(1);
let r = try_do!(a; Ok(v) {
Ok(v + 1)
});
assert_eq!(r, Ok(2));