Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/expr_store/lower.rs')
| -rw-r--r-- | crates/hir-def/src/expr_store/lower.rs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/crates/hir-def/src/expr_store/lower.rs b/crates/hir-def/src/expr_store/lower.rs index 5c81ec7ece..0a1c23c2cc 100644 --- a/crates/hir-def/src/expr_store/lower.rs +++ b/crates/hir-def/src/expr_store/lower.rs @@ -2431,7 +2431,7 @@ impl<'db> ExprCollector<'db> { expansion.statements().for_each(|stmt| this.collect_stmt(statements, stmt)); expansion.expr().and_then(|expr| match expr { ast::Expr::MacroExpr(mac) => this.collect_macro_as_stmt(statements, mac), - expr => Some(this.collect_expr(expr)), + expr => this.maybe_collect_expr(expr), }) } None => None, @@ -2468,8 +2468,7 @@ impl<'db> ExprCollector<'db> { if let Some(expr) = self.collect_macro_as_stmt(statements, mac) { statements.push(Statement::Expr { expr, has_semi }) } - } else { - let expr = self.collect_expr_opt(expr); + } else if let Some(expr) = expr.and_then(|expr| self.maybe_collect_expr(expr)) { statements.push(Statement::Expr { expr, has_semi }); } } |