rusty-man/tests/snapshots/output__1.53.0_html_macro_anyhow_ensure.snap
Robin Krahl 68f20c8d8c
Add support and tests for Rust 1.53.0
This patch adds tests for Rust 1.53.0 and adapts the HTML parser to
handle method and implementations list inside of details elements.
2021-06-18 17:17:33 +02:00

34 lines
1.0 KiB
Plaintext

---
source: tests/output.rs
expression: "get_stdout(&[item])"
---
anyhow Macro anyhow::ensure rusty-man
SYNOPSIS
macro_rules! ensure {
($cond:expr, $msg:literal $(,)?) => { ... };
($cond:expr, $err:expr $(,)?) => { ... };
($cond:expr, $fmt:expr, $($arg:tt)*) => { ... };
}
DESCRIPTION
Return early with an error if a condition is not satisfied.
This macro is equivalent to `if !$cond { return Err(From::from($err)); }`.
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
ensure!(user == 0, "only user 0 is allowed");
#[derive(Error, Debug)]
enum ScienceError {
#[error("recursion limit exceeded")]
RecursionLimitExceeded,
...
}
ensure!(depth <= MAX_DEPTH, ScienceError::RecursionLimitExceeded);