diff --git a/src/expr.rs b/src/expr.rs
index 8889be8..76c7e27 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -1898,7 +1898,7 @@
     }
 
     macro_rules! impl_by_parsing_expr {
-        ($expr_type:ty, $variant:ident, $msg:expr) => (
+        ($expr_type:ty, $variant:ident, $msg:expr) => {
             #[cfg(all(feature = "full", feature = "printing"))]
             impl Parse for $expr_type {
                 fn parse(input: ParseStream) -> Result<Self> {
@@ -1907,12 +1907,12 @@
                         match expr {
                             Expr::$variant(inner) => return Ok(inner),
                             Expr::Group(ExprGroup { expr: next, .. }) => expr = *next,
-                            _ => return Err(Error::new_spanned(expr, $msg))
+                            _ => return Err(Error::new_spanned(expr, $msg)),
                         }
                     }
                 }
             }
-        )
+        };
     }
 
     impl_by_parsing_expr!(ExprBox, Box, "expected box expression");
