about summary refs log tree commit diff
path: root/src/rustc
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2012-03-26 13:54:19 -0700
committerNiko Matsakis <niko@alum.mit.edu>2012-03-29 19:41:09 -0700
commitf682b99e36b8963890c3280c784f88274de55267 (patch)
tree819f2ebc213fe06cf207e9b82cd600ab62be6ef8 /src/rustc
parent76d0a13ae5a82aaaa1eff409d873cca29bdcb88e (diff)
downloadrust-f682b99e36b8963890c3280c784f88274de55267.tar.gz
rust-f682b99e36b8963890c3280c784f88274de55267.zip
generate correct constraints for assignments
Diffstat (limited to 'src/rustc')
-rw-r--r--src/rustc/middle/typeck.rs4
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;
     }