macro_rules! an_err {
($kind:expr) => { ... };
($kind:expr, $fmt:literal $(, $arg:expr)* => $inner:expr $(,)?) => { ... };
($kind:expr, $fmt:literal $(, $arg:expr)* $(,)?) => { ... };
}Expand description
Ergonomic constructor and chaining macro for AnErr.
ยงForms
| Form | Equivalent to |
|---|---|
an_err!(Kind) | AnErr::new(Kind) |
an_err!(Kind, "reason") | AnErr::with_fmt(Kind, ...) |
an_err!(Kind, "reason {}", arg, ...) | AnErr::with_fmt(Kind, ...) |
an_err!(Kind, "reason" => inner) | inner.context(Kind, ...) |
an_err!(Kind, "reason {}", arg => inner) | inner.context(Kind, ...) |
All forms capture the call site via #[track_caller].