diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 4d0d06eb5fb1..98ca83a6ff6d 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -3592,18 +3592,6 @@ fn trans_if(cx: &@block_ctxt, cond: &@ast::expr, thn: &ast::blk, els: &option::t[@ast::expr], id: ast::node_id, output: &out_method) -> result { let cond_res = trans_expr(cx, cond); - - if (ty::type_is_bot(bcx_tcx(cx), ty::expr_ty(bcx_tcx(cx), cond))) { - // No need to generate code for comparison, - // since the cond diverges. - if (!cx.build.is_terminated()) { - ret rslt(cx, cx.build.Unreachable()); - } - else { - ret rslt(cx, C_nil()); - } - } - let then_cx = new_scope_block_ctxt(cx, "then"); let then_res = trans_block(then_cx, thn, output); let else_cx = new_scope_block_ctxt(cx, "else"); diff --git a/src/test/run-fail/if-cond-bot.rs b/src/test/run-fail/if-cond-bot.rs deleted file mode 100644 index 32c698652e7a..000000000000 --- a/src/test/run-fail/if-cond-bot.rs +++ /dev/null @@ -1,3 +0,0 @@ -// error-pattern:quux -fn my_err(s: str) -> ! { log_err s; fail "quux"; } -fn main() { if my_err("bye") { } }