mz_ore

Macro assert_none

Source
macro_rules! assert_none {
    ($val:expr, $($msg:tt)+) => { ... };
    ($val:expr) => { ... };
}
Available on crate feature test only.
Expand description

Asserts that the provided expression, that returns an Option, is None.

§Motivation

The standard pattern for asserting a value is None using the assert! macro is:

assert!(x.is_none());

The issue with this pattern is when the assertion fails it only prints false and not the value contained in the Some(_) variant which makes debugging difficult.

§Examples

§Basic Use

use mz_ore::assert_none;
assert_none!(Some(42));

§With extra message

use mz_ore::assert_none;
let other_val = 100;
assert_none!(Some(42), "ohh noo! x {other_val}");