difftreelog
Merge pull request #806 from UniqueNetwork/fix/macro_check_enum_fields
in: master
2 files changed
crates/evm-coder/procedural/src/abi_derive/derive_enum.rsdiffbeforeafterboth--- a/crates/evm-coder/procedural/src/abi_derive/derive_enum.rs
+++ b/crates/evm-coder/procedural/src/abi_derive/derive_enum.rs
@@ -143,8 +143,7 @@
)
}
-pub fn check_and_count_options(de: &syn::DataEnum) -> syn::Result<usize> {
- let mut count = 0;
+pub fn check_enum_fields(de: &syn::DataEnum) -> syn::Result<()> {
for v in de.variants.iter() {
if !v.fields.is_empty() {
return Err(syn::Error::new(
@@ -156,12 +155,10 @@
v.ident.span(),
"Enumeration options should not have an explicit specified value",
));
- } else {
- count += 1;
}
}
- Ok(count)
+ Ok(())
}
pub fn check_repr_u8(name: &syn::Ident, attrs: &[syn::Attribute]) -> syn::Result<()> {
crates/evm-coder/procedural/src/abi_derive/mod.rsdiffbeforeafterboth70) -> syn::Result<proc_macro2::TokenStream> {70) -> syn::Result<proc_macro2::TokenStream> {71 let name = &ast.ident;71 let name = &ast.ident;72 check_repr_u8(name, &ast.attrs)?;72 check_repr_u8(name, &ast.attrs)?;73 check_enum_fields(de)?;73 let docs = extract_docs(&ast.attrs)?;74 let docs = extract_docs(&ast.attrs)?;74 let enum_options = de.variants.iter();75 let enum_options = de.variants.iter();7576