#[macro_export]
macro_rules! try_iter {
($expr:expr $(,)?) => {
match $expr {
Ok(val) => val,
Err(err) => {
return Some(Err(err.into()));
}
}
};
}
#[macro_export]
macro_rules! try2 {
($expr:expr $(,)?) => {
match $expr {
std::result::Result::Ok(std::option::Option::Some(val)) => val,
std::result::Result::Ok(std::option::Option::None) => {
return std::result::Result::Ok(std::option::Option::None);
}
std::result::Result::Err(err) => {
return std::result::Result::Err(std::convert::From::from(err));
}
}
};
}