diff options
Diffstat (limited to 'azalea-buf/azalea-buf-macros/src/lib.rs')
| -rw-r--r-- | azalea-buf/azalea-buf-macros/src/lib.rs | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/azalea-buf/azalea-buf-macros/src/lib.rs b/azalea-buf/azalea-buf-macros/src/lib.rs index c4938f89..965e19c9 100644 --- a/azalea-buf/azalea-buf-macros/src/lib.rs +++ b/azalea-buf/azalea-buf-macros/src/lib.rs @@ -7,24 +7,39 @@ use syn::{DeriveInput, parse_macro_input}; #[proc_macro_derive(AzaleaRead, attributes(var))] pub fn derive_azalearead(input: TokenStream) -> TokenStream { - let DeriveInput { ident, data, .. } = parse_macro_input!(input); + let DeriveInput { + ident, + generics, + data, + .. + } = parse_macro_input!(input); - read::create_impl_azalearead(&ident, &data).into() + read::create_impl_azalearead(&ident, &generics, &data).into() } #[proc_macro_derive(AzaleaWrite, attributes(var))] pub fn derive_azaleawrite(input: TokenStream) -> TokenStream { - let DeriveInput { ident, data, .. } = parse_macro_input!(input); + let DeriveInput { + ident, + generics, + data, + .. + } = parse_macro_input!(input); - write::create_impl_azaleawrite(&ident, &data).into() + write::create_impl_azaleawrite(&ident, &generics, &data).into() } #[proc_macro_derive(AzBuf, attributes(var, limit))] pub fn derive_azbuf(input: TokenStream) -> TokenStream { - let DeriveInput { ident, data, .. } = parse_macro_input!(input); + let DeriveInput { + ident, + generics, + data, + .. + } = parse_macro_input!(input); - let writable = write::create_impl_azaleawrite(&ident, &data); - let readable = read::create_impl_azalearead(&ident, &data); + let writable = write::create_impl_azaleawrite(&ident, &generics, &data); + let readable = read::create_impl_azalearead(&ident, &generics, &data); quote! { #writable #readable |
