git.delta.rocks / unique-network / refs/commits / aea07737fd8a

difftreelog

Merge pull request #806 from UniqueNetwork/fix/macro_check_enum_fields

Yaroslav Bolyukin2022-12-23parents: #d6d6d43 #3e69aff.patch.diff
in: master

2 files changed

modifiedcrates/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<()> {
modifiedcrates/evm-coder/procedural/src/abi_derive/mod.rsdiffbeforeafterboth
70) -> 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