5 releases (3 stable)
| 2.1.0 | Jul 3, 2024 |
|---|---|
| 2.0.0 | Jul 3, 2024 |
| 1.0.0 | Jul 2, 2024 |
| 0.1.1 | Jul 2, 2024 |
| 0.1.0 | Jul 2, 2024 |
#2103 in Procedural macros
152 downloads per month
18KB
323 lines
Backtrace/Backtrait Error
Procedural macros to aid the propagation of Backtraces between structs/enums (typically errors).
Dunno if it'd be useful yet.
Gist
Provides function-like procedural macros to: generate a simple trait for facilitating propagating backtraces (the trait is defined where the macro is called); and, generate an enum that contains the backtrace and optional source of the error. See below.
define_backtrace_error!(ErrorWithBacktrace); // Expands into `pub trait ErrorWithBacktrace: std::error::Error {`...
define_backtrace_source!(BacktraceSource, ErrorWithBacktrace);
Provides an attribute procedural macro to derive a simple std::error::Error implementation for structs/enums. See below.
#[backtrace_derive(ErrorWithBacktrace)]
#[derive(Debug, BacktraceError)]
struct UnitError(#[display] String, #[backtrace] BacktraceSource);