Macro ensure
macro_rules! ensure {
($cond:expr $(,)?) => { ... };
($cond:expr, $msg:literal $(,)?) => { ... };
($cond:expr, $err:expr $(,)?) => { ... };
($cond:expr, $fmt:expr, $($arg:tt)*) => { ... };
}
Return early with an error if a condition is not satisfied.
This macro is equivalent to
if !$cond { return Err(anyhow!($args...)); }.
The surrounding function's or closure's return value is required to be
Result<_, [anyhow::Error][crate::Error]>.
Analogously to assert!, ensure! takes a condition and exits the function
if the condition fails. Unlike assert!, ensure! returns an Error
rather than panicking.
Example
# use ;
#
#
# use ;
# use Error;
#
# const MAX_DEPTH: usize = 1;
#
#