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 |
#454 in Procedural macros
18KB
323 lines
Backtrace/Backtrait Error
Procedural macros to aid the propagation of Backtrace
s 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);