diff --git a/pyo3-macros-backend/src/utils.rs b/pyo3-macros-backend/src/utils.rs index 3150bb4c..cc35c108 100644 --- a/pyo3-macros-backend/src/utils.rs +++ b/pyo3-macros-backend/src/utils.rs @@ -118,9 +118,9 @@ pub fn ensure_not_async_fn(sig: &syn::Signature) -> syn::Result<()> { Ok(()) } -pub fn unwrap_group(expr: &syn::Expr) -> &syn::Expr { - match expr { - syn::Expr::Group(syn::ExprGroup { expr, .. }) => &*expr, - other => other, +pub fn unwrap_group(mut expr: &syn::Expr) -> &syn::Expr { + while let syn::Expr::Group(g) = expr { + expr = &*g.expr; } + expr }