assertables

Macro assert_some_eq_expr_as_result

source
macro_rules! assert_some_eq_expr_as_result {
    ($a:expr, $b:expr $(,)?) => { ... };
}
Expand description

Assert a.is_some() and a.unwrap() are equal to another.

Pseudocode:
(a ⇒ Some(a̅) ⇒ a̅) = b

  • If true, return Result Ok(()).

  • Otherwise, return Result Err with a diagnostic message.

This macro provides the same statements as assert_some_eq_expr, except this macro returns a Option, rather than doing a panic.

This macro is useful for runtime checks, such as checking parameters, or sanitizing inputs, or handling different results in different ways.

§Module macros