fn-error-context 0.2.1

An attribute macro to add context to errors from a function.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use fn_error_context::context;

#[context("context")]
fn do_stuff((x, y): (i32, u32)) -> anyhow::Result<()> {
    anyhow::bail!("error {} {}", x, y)
}

fn main() {
    assert_eq!(
        format!("{:#}", do_stuff((1, 2)).unwrap_err()),
        "context: error 1 2"
    );
}