Macro abi_stable::rtry_opt
source · macro_rules! rtry_opt { ($expr:expr) => { ... }; }
Expand description
Equivalent to ?
for ROption
.
Accepts both Option
and ROption
arguments.
§Example
use abi_stable::{
std_types::{ROption, RSome, RNone},
rtry_opt,
sabi_extern_fn,
};
#[sabi_extern_fn]
fn funct(arg: ROption<u32>) -> ROption<u32> {
let value = rtry_opt!(Some(3));
RSome(value + rtry_opt!(arg))
}
assert_eq!(funct(RSome(5)), RSome(8));
assert_eq!(funct(RNone), RNone::<u32>);