Expand description
Type-erased report data structures.
This module implements type erasure for error reports through vtable-based
dispatch. The design allows reports with any context type C to be stored
uniformly while maintaining the ability to format and inspect them.
ยงStructure
data: ContainsReportData<C>, the#[repr(C)]wrapper that pairs a context value with its vtable, children, and attachmentsraw: ContainsRawReport,RawReportRef, andRawReportMut- the type-erased pointer types that users of this module interact withvtable: ContainsReportVtable, the function pointer table for type-erased operations
ยงAllocation Strategy
Reports use Arc<ReportData<C>> for storage, enabling cheap cloning and
shared ownership. The Arc is converted to a raw pointer for type erasure,
then reconstructed when dropping or accessing with the concrete type.
Re-exportsยง
pub use raw::RawReport;pub use raw::RawReportMut;pub use raw::RawReportRef;