Expand description
The relevant main crate is optionable. The docs can be found there.
§Purpose
This code generation proc_macro2 library serves two purposes:
- Used by optionable_derive to implement the
#[derive(Optionable)]-macro re-exported by optionable. - Used by the bin/codegen.rs crate to support generating
Optionable-implementations for external packages. Due to the orphan rule the generated code has to be added to theOptionable-package (PRs welcome).
It has to be a separate crate from optionable_derive as the proc-macro crates
can’t export its non-macro functions (even the proc_macro2 ones) for the usage by the codegen part.
Structs§
- Codegen
Settings - Settings that are only available to be set via the rust function signature of
derive_optionablebut not via the derive macro (as they are not useful in that context and would lead to an increased but not useful API surface of the derive macro helpers).
Functions§
- attribute_
derives - Returns the attribute for setting that the given identifiers should be added as derive macro to the optioned struct/enum.
- attribute_
no_ convert - Returns the attribute for opting-out of
OptionableConvert-impl generation. - attribute_
suffix - Returns the attribute for setting a custom struct/enum name suffix instead of
Opt. - derive_
optionable - Derives the
Optionable-trait from the mainoptionable-library.