Derive and attribute macros for accessing your type's documentation at runtime
use documented::{Documented,DocumentedFields,DocumentedVariants, docs_const};/// Trying is the first step to failure.#[derive(Documented,DocumentedFields,DocumentedVariants)]#[docs_const]enumAlwaysPlay{/// And Kb8.#[allow(dead_code)]Kb1,/// But only if you are white.F6,}// Documentedassert_eq!(AlwaysPlay::DOCS,"Trying is the first step to failure.");// DocumentedFieldsassert_eq!(AlwaysPlay::FIELD_DOCS,["And Kb8.","But only if you are white."]);assert_eq!(AlwaysPlay::get_field_docs("Kb1"),Ok("And Kb8."));// DocumentedVariantsassert_eq!(AlwaysPlay::F6.get_variant_docs(),"But only if you are white.");// docs_constassert_eq!(ALWAYS_PLAY_DOCS,"Trying is the first step to failure.");