More robust and versatile implementation of derive(Debug) and derive(Display). Unlike the version ofderive(Debug)
in the standard library, these macros will always successfully generate an implementation - even if a member does not
implement Debug/Display. In that case, the generated implementation will print a replacement string of the form
<TypeName>.
use Debug; // replacement for `use std::fmt::Debug;`
// a type that implements neither `Debug` nor `Display`
;
no_std
This crate is no_std and can be used from both no_std and std contexts without any action required.
MSRV
The current MSRV is 1.56.0.
TODO
- The format expressions on enumeration variants and fields show that this crate will probably need a better method of referring to fields (currently,
selfis accessible, which requires unwrapping the variant each time it is used)