diff options
| author | jDomantas <djadenkus@gmail.com> | 2023-09-17 12:26:22 +0300 |
|---|---|---|
| committer | jDomantas <djadenkus@gmail.com> | 2023-09-17 12:46:41 +0300 |
| commit | a0c31b73d8b81090e12605ca0392f3d4f677f55a (patch) | |
| tree | 381afd0bf8becd5907ae813a6148a570979b0aa2 | |
| parent | a77789e7aa50a652cbd15cfd400acdfc4602167c (diff) | |
| download | rust-a0c31b73d8b81090e12605ca0392f3d4f677f55a.tar.gz rust-a0c31b73d8b81090e12605ca0392f3d4f677f55a.zip | |
don't skip the rest of the block after let-else
| -rw-r--r-- | crates/hir-ty/src/infer/closure.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/crates/hir-ty/src/infer/closure.rs b/crates/hir-ty/src/infer/closure.rs index 1f040393f1f..13d6b5643ac 100644 --- a/crates/hir-ty/src/infer/closure.rs +++ b/crates/hir-ty/src/infer/closure.rs @@ -469,13 +469,13 @@ impl InferenceContext<'_> { Statement::Let { pat, type_ref: _, initializer, else_branch } => { if let Some(else_branch) = else_branch { self.consume_expr(*else_branch); - if let Some(initializer) = initializer { - self.consume_expr(*initializer); - } - return; } if let Some(initializer) = initializer { - self.walk_expr(*initializer); + if else_branch.is_some() { + self.consume_expr(*initializer); + } else { + self.walk_expr(*initializer); + } if let Some(place) = self.place_of_expr(*initializer) { self.consume_with_pat(place, *pat); } |
