enumtrait 1.0.0

A library of macros for polymorphism using enums
Documentation

mod ops {
    pub struct Map;
    pub struct Fold;
    pub struct Filter;
    
    #[enumtrait::quick_enum]
    #[enumtrait::store(pub operator_enum)]
    pub enum Operator {
        Map,
        Fold,
        Filter
    }
}

mod codegen {
    #[enumtrait::store(codegen_trait)]
    trait CodeGen {
        fn generate(self);
    }
    
    impl CodeGen for super::ops::Map { fn generate(self){} }
    impl CodeGen for super::ops::Fold { fn generate(self){} }
    impl CodeGen for super::ops::Filter { fn generate(self){} }
    
    #[enumtrait::impl_trait(codegen_trait for super::ops::operator_enum)]
    impl CodeGen for super::ops::Operator {}
}


fn main() {}