6 releases (breaking)
0.9.1 | Nov 4, 2024 |
---|---|
0.9.0 |
|
0.8.0 | Oct 21, 2024 |
0.7.1 | Oct 16, 2024 |
0.1.0 | Aug 23, 2024 |
#2121 in Procedural macros
31,672 downloads per month
Used in 5 crates
(via documented)
49KB
817 lines
documented
Derive and attribute macros for accessing your type's documentation at runtime
Quick start
use documented::{Documented, DocumentedFields, DocumentedVariants};
/// Trying is the first step to failure.
#[derive(Documented, DocumentedFields, DocumentedVariants)]
enum AlwaysPlay {
/// And Kb8.
#[allow(dead_code)]
Kb1,
/// But only if you are white.
F6,
}
// Documented
assert_eq!(AlwaysPlay::DOCS, "Trying is the first step to failure.");
// DocumentedFields
assert_eq!(
AlwaysPlay::FIELD_DOCS,
["And Kb8.", "But only if you are white."]
);
assert_eq!(AlwaysPlay::get_field_docs("Kb1"), Ok("And Kb8."));
// DocumentedVariants
assert_eq!(
AlwaysPlay::F6.get_variant_docs(),
"But only if you are white."
);
Dependencies
~0.6–1.2MB
~24K SLoC