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));