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.rs5
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 });
}
}