about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/comp/middle/typeck.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs
index 7d7936b6cf1..c5a883b2bb6 100644
--- a/src/comp/middle/typeck.rs
+++ b/src/comp/middle/typeck.rs
@@ -1920,7 +1920,8 @@ fn check_expr_with_unifier(fcx: @fn_ctxt, expr: @ast::expr, unify: unifier,
         write::ty_only_fixup(fcx, id, ty::mk_nil(tcx));
       }
       ast::expr_do_while(body, cond) {
-        bot = check_expr(fcx, cond) | check_block(fcx, body);
+        bot = check_expr_with(fcx, cond, ty::mk_bool(tcx)) |
+              check_block(fcx, body);
         write::ty_only_fixup(fcx, id, block_ty(tcx, body));
       }
       ast::expr_alt(expr, arms) {