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}