diff --git a/lua_typed_macro/src/lib.rs b/lua_typed_macro/src/lib.rs index 8f89c33..b1adfb5 100644 --- a/lua_typed_macro/src/lib.rs +++ b/lua_typed_macro/src/lib.rs @@ -6,7 +6,7 @@ use convert_case::{Case, Casing}; use itertools::Itertools; use proc_macro2::TokenStream as TokenStream2; use quote::{ToTokens, quote}; -use syn::{DataEnum, DataStruct, DeriveInput, LitStr, Token, parse_macro_input, spanned::Spanned}; +use syn::{DataEnum, DataStruct, DeriveInput, LitStr, parse_macro_input, spanned::Spanned}; #[derive(Debug, Clone)] struct StructField { @@ -294,10 +294,6 @@ fn parse_fields( as_name = value.parse()?; } else if meta.path.is_ident("default") { default = true; - if meta.input.peek(Token![=]) { - meta.input.parse::()?; - meta.input.parse::()?; - } } else if meta.path.is_ident("flatten") { flatten = true; } else { @@ -366,8 +362,8 @@ fn typed_inner(ast: DeriveInput) -> syn::Result { )), }?); } else if meta.path.is_ident("tag") { - meta.input.parse::()?; - tag = Some(meta.input.parse::()?); + let value = meta.value()?; + tag = Some(value.parse::()?); } else { return Err(syn::Error::new(meta.path.span(), "Unknown attribute")); }