diff options
| author | Marijn Haverbeke <marijnh@gmail.com> | 2011-09-23 11:19:15 +0200 |
|---|---|---|
| committer | Marijn Haverbeke <marijnh@gmail.com> | 2011-09-23 11:19:15 +0200 |
| commit | 348cd86d87521ba6ee74c3f06d13fcccf6b8a7f3 (patch) | |
| tree | 45d1a4715e5cc82d0f1a7f7045a0944b24e07ef3 | |
| parent | 0bbde048a414bdf6dcdf7e00cc429bf8d8d2a5f0 (diff) | |
| download | rust-348cd86d87521ba6ee74c3f06d13fcccf6b8a7f3.tar.gz rust-348cd86d87521ba6ee74c3f06d13fcccf6b8a7f3.zip | |
Properly check types of do-while condition expr
Closes #956
| -rw-r--r-- | src/comp/middle/typeck.rs | 3 |
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) { |
