macro_rules! anyerr {
($fmt:literal$(, $($arg:expr),* $(,)?)?) => { ... };
($err:expr, $fmt:literal$(, $($arg:expr),* $(,)?)?) => { ... };
($err:expr) => { ... };
}Expand description
Converts a value into AnyError.
anyerr!("msg")creates an error with just a message.anyerr!("this failed at {a} with {}", b)creates an error with a formatted messageanyerr!(value)converts anyimpl StackError,impl std::error::Error, orimpl DisplayintoAnyError.anyerr!(value, "context string") works as above, but adds "context string" as [context`](Anyerr::context).- `anyerr!(value, “context {}”, foo) works as above, but with a formatted string as context
The forms that take value use autoref specialization to keep the most details possible:
if given a StackError it uses AnyError::from_stack, if given a std error, uses AnyError::from_std,
if given a value that impls Display it uses AnyError::from_display - in this order.