--- a/crates/evm-coder/procedural/src/solidity_interface.rs +++ b/crates/evm-coder/procedural/src/solidity_interface.rs @@ -158,7 +158,7 @@ parenthesized!(contents in input); let input = contents; - loop { + while !input.is_empty() { let lookahead = input.lookahead1(); if lookahead.peek(Token![if]) { input.parse::()?; @@ -181,16 +181,10 @@ if via.replace((ty, method)).is_some() { return Err(syn::Error::new(input.span(), "via is already set")); } - } else if input.is_empty() { - break; + } else if input.peek(Token![,]) { + input.parse::()?; } else { return Err(lookahead.error()); - } - - if input.peek(Token![,]) { - input.parse::()?; - } else { - break; } } } else if lookahead.peek(Token![,]) || input.is_empty() {