MCPcopy Create free account
hub / github.com/brain0/atomic_enum / enum_definition

Function enum_definition

src/lib.rs:51–67  ·  view source on GitHub ↗
(
    attrs: impl IntoIterator<Item = Attribute>,
    vis: &Visibility,
    ident: &Ident,
    variants: impl IntoIterator<Item = &'a Variant>,
)

Source from the content-addressed store, hash-verified

49use syn::{parse_macro_input, spanned::Spanned, Attribute, Ident, ItemEnum, Variant, Visibility};
50
51fn enum_definition<'a>(
52 attrs: impl IntoIterator<Item = Attribute>,
53 vis: &Visibility,
54 ident: &Ident,
55 variants: impl IntoIterator<Item = &'a Variant>,
56) -> TokenStream2 {
57 let attrs = attrs.into_iter();
58 let variants = variants.into_iter();
59
60 quote! {
61 #(#attrs)*
62 #[derive(Debug, Clone, Copy)]
63 #vis enum #ident {
64 #( #variants ),*
65 }
66 }
67}
68
69fn atomic_enum_definition(vis: &Visibility, ident: &Ident, atomic_ident: &Ident) -> TokenStream2 {
70 let atomic_ident_docs = format!(

Callers 1

atomic_enumFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected