about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Diebold <flodiebold@gmail.com>2022-03-21 17:00:03 +0100
committerFlorian Diebold <flodiebold@gmail.com>2022-03-21 17:00:03 +0100
commit344cf1db5fed792d99d4736fbc785bea35f64ba9 (patch)
tree63e0008e9eb5066f2fa98120c651fc610d26d711
parentbaa43a86abf9d31b833b36822b9ae14cd11cf935 (diff)
downloadrust-344cf1db5fed792d99d4736fbc785bea35f64ba9.tar.gz
rust-344cf1db5fed792d99d4736fbc785bea35f64ba9.zip
Fix expect
-rw-r--r--crates/hir/src/lib.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index ba7922ef3d7..f4e58d88ed8 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -1188,8 +1188,10 @@ impl DefWithBody {
             }
         }
         for (expr, mismatch) in infer.expr_type_mismatches() {
-            let expr =
-                source_map.expr_syntax(expr).expect("break outside of loop in synthetic syntax");
+            let expr = match source_map.expr_syntax(expr) {
+                Ok(expr) => expr,
+                Err(SyntheticSyntax) => continue,
+            };
             acc.push(
                 TypeMismatch {
                     expr,