aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/comp/middle/trans.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 5b4a08f3..b16acfd9 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -3581,9 +3581,9 @@ fn trans_alt(@block_ctxt cx, @ast.expr expr, vec[ast.arm] arms)
this_cx = next_cx;
}
- // FIXME: This is executed when none of the patterns match; it should fail
- // instead!
- this_cx.build.Br(last_cx.llbb);
+ auto default_cx = this_cx;
+ auto default_res = trans_fail(default_cx, expr.span,
+ "non-exhaustive match failure");
// FIXME: This is very wrong; we should phi together all the arm blocks,
// since this is an expression.