auto-context
Auto-add context to anyhow errors (without nightly).
Example
use ;
fails with
Error: Test::some_function(..) @ auto-context/src/lib.rs::23
Caused by:
0: .some_method() @ auto-context/src/lib.rs::15
1: some error
Details
The auto_context proc macro can be used to annotate any item. This includes functions, methods, and struct/trait impls.
Context is added to every [try expression] (every use of a ?). Different
kinds of expressions result in different context formats:
- method calls:
.method_name(args) - function calls:
some::func(args) - identifiers:
xyz - expression calls:
(.. some expr ..)
where args is .. if arguments are present and is empty otherwise.