diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2012-03-26 13:54:19 -0700 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2012-03-29 19:41:09 -0700 |
| commit | f682b99e36b8963890c3280c784f88274de55267 (patch) | |
| tree | 819f2ebc213fe06cf207e9b82cd600ab62be6ef8 /src/rustc | |
| parent | 76d0a13ae5a82aaaa1eff409d873cca29bdcb88e (diff) | |
| download | rust-f682b99e36b8963890c3280c784f88274de55267.tar.gz rust-f682b99e36b8963890c3280c784f88274de55267.zip | |
generate correct constraints for assignments
Diffstat (limited to 'src/rustc')
| -rw-r--r-- | src/rustc/middle/typeck.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/rustc/middle/typeck.rs b/src/rustc/middle/typeck.rs index c538d11358d..9f5f66cc149 100644 --- a/src/rustc/middle/typeck.rs +++ b/src/rustc/middle/typeck.rs @@ -2414,8 +2414,8 @@ fn check_expr_with_unifier(fcx: @fn_ctxt, expr: @ast::expr, unify: unifier, // A generic function for checking assignment expressions fn check_assignment(fcx: @fn_ctxt, _sp: span, lhs: @ast::expr, rhs: @ast::expr, id: ast::node_id) -> bool { - let t = next_ty_var(fcx); - let bot = check_expr_with(fcx, lhs, t) | check_expr_with(fcx, rhs, t); + let mut bot = check_expr(fcx, lhs); + bot |= check_expr_with(fcx, rhs, expr_ty(fcx.ccx.tcx, lhs)); write_ty(fcx.ccx.tcx, id, ty::mk_nil(fcx.ccx.tcx)); ret bot; } |
