Fail on non-exhaustive alt matches

This commit is contained in:
Brian Anderson 2011-04-02 14:12:19 -04:00
parent 9d0a505d61
commit 6e6acaa39a

View file

@ -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.