diff --git a/parser/src/python.lalrpop b/parser/src/python.lalrpop index e3c5612..8bdb986 100644 --- a/parser/src/python.lalrpop +++ b/parser/src/python.lalrpop @@ -956,18 +956,16 @@ FuncDef: ast::Stmt = { Parameters: ast::Arguments = { "(" )?> ")" =>? { - let args = validate_arguments( - a.unwrap_or_else(|| ast::Arguments { - posonlyargs: vec![], - args: vec![], - vararg: None, - kwonlyargs: vec![], - kw_defaults: vec![], - kwarg: None, - defaults: vec![], - range: optional_range(location, end_location) - }) - )?; + let args = a.map(validate_arguments).transpose()?.unwrap_or_else(|| ast::Arguments { + posonlyargs: vec![], + args: vec![], + vararg: None, + kwonlyargs: vec![], + kw_defaults: vec![], + kwarg: None, + defaults: vec![], + range: optional_range(location, end_location) + }); Ok(args) } diff --git a/parser/src/python.rs b/parser/src/python.rs index 3546732..b8ab379 100644 --- a/parser/src/python.rs +++ b/parser/src/python.rs @@ -1,5 +1,5 @@ // auto-generated: "lalrpop 0.20.0" -// sha3: 47b783562ed1a6b737bc43a6a32667a7c2d2a8d317902061795979684331efe1 +// sha3: 9e916a859a8029803a1b64fb6ea9d62f79fbdf896a3673c49e79bd5e8068f2f5 use crate::{ ast::{self as ast, Ranged}, lexer::{LexicalError, LexicalErrorType}, @@ -30732,18 +30732,16 @@ fn __action156< ) -> Result> { { - let args = validate_arguments( - a.unwrap_or_else(|| ast::Arguments { - posonlyargs: vec![], - args: vec![], - vararg: None, - kwonlyargs: vec![], - kw_defaults: vec![], - kwarg: None, - defaults: vec![], - range: optional_range(location, end_location) - }) - )?; + let args = a.map(validate_arguments).transpose()?.unwrap_or_else(|| ast::Arguments { + posonlyargs: vec![], + args: vec![], + vararg: None, + kwonlyargs: vec![], + kw_defaults: vec![], + kwarg: None, + defaults: vec![], + range: optional_range(location, end_location) + }); Ok(args) }