msg_tool\utils/macros.rs
1//! Macros Utilities
2
3#[macro_export]
4/// A macro likes `try!` but returns `Option<Result<T, E>>`.
5macro_rules! try_option {
6 ($expr:expr $(,)?) => {
7 match $expr {
8 std::result::Result::Ok(val) => val,
9 std::result::Result::Err(err) => {
10 return std::option::Option::Some(std::result::Result::Err(
11 std::convert::From::from(err),
12 ));
13 }
14 }
15 };
16}