pub(crate) fn mark_arena(_args: TokenStream, input: TokenStream) -> TokenStream {
    let input = syn::parse_macro_input!(input as Item);
    let (name, generics) = match &input {
        Item::Enum(item) => (&item.ident, &item.generics),
        Item::Struct(item) => (&item.ident, &item.generics),
        Item::Type(item) => (&item.ident, &item.generics),
        _ => panic!("unsupported item for arena allocation"),
    };
    add_node(&name, &generics);
    let output = quote! {
        #input
    };
    output.into()
}
/// Mark an item as to be allocated into an arena.
Mark an item as to be allocated into an arena.
Mark an item as to be allocated into an arena .
pub(crate) fn mark_arena(_args: TokenStream, input: TokenStream) -> TokenStream {
    let input = syn::parse_macro_input!(input as Item);
    let (name, generics) = match &input {
        Item::Enum(item) => (&item.ident, &item.generics),
        Item::Struct(item) => (&item.ident, &item.generics),
        Item::Type(item) => (&item.ident, &item.generics),
        _ => panic!("unsupported item for arena allocation"),
    };
    add_node(&name, &generics);
    let output = quote! {
        #input
    };
    output.into()
}
pub ( crate ) fn mark_arena ( _args : TokenStream , input : TokenStream ) -> TokenStream { let input = syn :: parse_macro_input ! ( input as Item ) ; let ( name , generics ) = match & input { Item :: Enum ( item ) => ( & item . ident , & item . generics ) , Item :: Struct ( item ) => ( & item . ident , & item . generics ) , Item :: Type ( item ) => ( & item . ident , & item . generics ) , _ => panic ! ( " " ) , } ; add_node ( & name , & generics ) ; let output = quote ! { input } ; output . into ( ) }
Mark an item as to be allocated into an arena.
Mark an item as to be allocated into an arena .
_args
TokenStream
input
TokenStream
_args
TokenStream
input
TokenStream