enum_impl/lib.rs
1#![doc = include_str!("../README.md")]
2
3use proc_macro::TokenStream;
4use syn::{parse_macro_input, DeriveInput};
5
6mod attr;
7mod components;
8mod expand;
9
10#[proc_macro_derive(EnumImpl, attributes(enum_impl))]
11pub fn derive_enum_impl(input: TokenStream) -> TokenStream {
12 let input = parse_macro_input!(input as DeriveInput);
13 expand::derive(&input).into()
14}