Skip to main content

DefinitionVariant

Derive Macro DefinitionVariant 

Source
#[derive(DefinitionVariant)]
Expand description

Derive macro ensures that the type manually implements GenElement. This enforces that any type used as a Definition variant has proper validation logic.

§Example

#[derive(DefinitionVariant)]
pub struct EnumElement {
    config: RustGenConfig,
    inner: Type,
}

impl GenElement<EnumElement> for EnumElement {
    fn validate_element(&self) -> eyre::Result<()> {
        // validation logic
    }
}