Expand description
§anyhow-auto-context
Automatic context for anyhow errors based on scope and location.
§Usage
§With Option
use anyhow_auto_context::auto_context;
fn main() -> anyhow::Result<()> {
let expected_some = None;
auto_context!(expected_some)
}
$ cargo run --example option
Error: expected_some in option::main at examples/option.rs:6:5
§With Result
use anyhow::Result;
use anyhow_auto_context::auto_context;
fn main() -> Result<()> {
auto_context!(foo())
}
fn foo() -> Result<()> {
auto_context!(bar())
}
fn bar() -> Result<()> {
anyhow::bail!("my error")
}
$ cargo run --example result
Error: foo() in result::main at examples/result.rs:6:5
Caused by:
0: bar() in result::foo at examples/result.rs:10:5
1: my error
§Contributing
- please run .pre-commit.sh before sending a PR, it will check everything
§License
This project is licensed under the MIT license.
Macros§
- Adds automatic
anyhow
context based on scope and location