Expand description
§tracerr
Custom compile-time captured error tracing for Rust.
§Usage
The common rule:
- Use macro to capture trace frame in the invocation place.
use tracerr::Traced;
let err = tracerr::new!("my error"); // captures frame
let res: Result<(), _> = Err(err)
.map_err(tracerr::wrap!()); // captures frame
let err: Traced<&'static str> = res.unwrap_err();
assert_eq!(
format!("{}\n{}", err, err.trace()),
r"my error
error trace:
rust_out
at src/lib.rs:7
rust_out
at src/lib.rs:10",
);
let (val, trace) = err.split();
assert_eq!(
format!("{}\n{}", val, trace),
r"my error
error trace:
rust_out
at src/lib.rs:7
rust_out
at src/lib.rs:10",
);
§License
Copyright © 2019-2025 Instrumentisto Team, https://github.com/instrumentisto
This software is subject to the terms of the Blue Oak Model License 1.0.0. If a copy of the BlueOak-1.0.0 license was not distributed with this file, You can obtain one at https://blueoakcouncil.org/license/1.0.0.
Macros§
- from_
and_ wrap - Provides a closure, which captures a new
Frame
in the invocation place, applies the requiredFrom
conversion for the given error, and wraps it into aTraced
wrapper with thisFrame
. - map_
from_ and_ new - Captures a new
Frame
in the invocation place and wraps the given error into aTraced
wrapper containing thisFrame
with applying the requiredFrom
conversion for the wrapped error. - map_
from_ and_ wrap - Provides a closure, which captures a new
Frame
in the invocation place for the givenTraced
wrapper and applies the requiredFrom
conversion for the wrapped error. - new
- Captures a new
Frame
in the invocation place and wraps the given error into aTraced
wrapper containing thisFrame
. - new_
frame - Captures and returns new
Frame
in the macro invocation place. - wrap
- Provides a closure, which captures a new
Frame
in the invocation place and wraps the given error into aTraced
wrapper containing thisFrame
.
Structs§
- Frame
- Captured frame of
Trace
. - Trace
- Trace composed from captured
Frame
s. - Traced
- Wrapper for an arbitrary error holding the captured error trace along.
Statics§
- DEFAULT_
FRAMES_ CAPACITY - Default capacity for a
Trace
buffer initialization.
Traits§
- Wrap
Traced - Trait for wrapping errors into a
Traced
wrapper and growing itsTrace
inside.