about summary refs log tree commit diff
path: root/compiler/rustc_ast_lowering/src
diff options
context:
space:
mode:
authorMatthew Jasper <mjjasper1@gmail.com>2023-09-21 11:26:50 +0000
committerMatthew Jasper <mjjasper1@gmail.com>2024-01-05 10:56:59 +0000
commit407cb241422cd13ab01b0017fcf1ef6e49c80b1b (patch)
tree4abcfb20080471248b44be06f71ab5cc2d89e7c8 /compiler/rustc_ast_lowering/src
parent5113ed28ea1451a13eae3a05dca0dbabfd56f587 (diff)
downloadrust-407cb241422cd13ab01b0017fcf1ef6e49c80b1b.tar.gz
rust-407cb241422cd13ab01b0017fcf1ef6e49c80b1b.zip
Remove `hir::Guard`
Use Expr instead. Use `ExprKind::Let` to represent if let guards.
Diffstat (limited to 'compiler/rustc_ast_lowering/src')
-rw-r--r--compiler/rustc_ast_lowering/src/expr.rs15
1 files changed, 1 insertions, 14 deletions
diff --git a/compiler/rustc_ast_lowering/src/expr.rs b/compiler/rustc_ast_lowering/src/expr.rs
index ba858d49acf..69704de105c 100644
--- a/compiler/rustc_ast_lowering/src/expr.rs
+++ b/compiler/rustc_ast_lowering/src/expr.rs
@@ -546,20 +546,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
 
     fn lower_arm(&mut self, arm: &Arm) -> hir::Arm<'hir> {
         let pat = self.lower_pat(&arm.pat);
-        let guard = arm.guard.as_ref().map(|cond| {
-            if let ExprKind::Let(pat, scrutinee, span, is_recovered) = &cond.kind {
-                hir::Guard::IfLet(self.arena.alloc(hir::Let {
-                    hir_id: self.next_id(),
-                    span: self.lower_span(*span),
-                    pat: self.lower_pat(pat),
-                    ty: None,
-                    init: self.lower_expr(scrutinee),
-                    is_recovered: *is_recovered,
-                }))
-            } else {
-                hir::Guard::If(self.lower_expr(cond))
-            }
-        });
+        let guard = arm.guard.as_ref().map(|cond| self.lower_expr(cond));
         let hir_id = self.next_id();
         let span = self.lower_span(arm.span);
         self.lower_attrs(hir_id, &arm.attrs);