From 83f758cf0dfaefc2ebb3a26404e8a9e009847af7 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 13 Mar 2011 03:26:11 -0400 Subject: [PATCH] Typecheck expr_send and expr_recv --- src/comp/middle/typeck.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs index f44292d581b..a654a2fc329 100644 --- a/src/comp/middle/typeck.rs +++ b/src/comp/middle/typeck.rs @@ -1830,6 +1830,22 @@ fn check_assignment_like(&@fn_ctxt fcx, @ast.expr lhs, @ast.expr rhs) ret @fold.respan[ast.expr_](expr.span, newexpr); } + case (ast.expr_send(?lhs, ?rhs, _)) { + auto checked = check_assignment_like(fcx, lhs, rhs); + auto newexpr = ast.expr_send(checked._0, + checked._1, + checked._2); + ret @fold.respan[ast.expr_](expr.span, newexpr); + } + + case (ast.expr_recv(?lhs, ?rhs, _)) { + auto checked = check_assignment_like(fcx, lhs, rhs); + auto newexpr = ast.expr_recv(checked._0, + checked._1, + checked._2); + ret @fold.respan[ast.expr_](expr.span, newexpr); + } + case (ast.expr_if(?cond, ?thn, ?elifs, ?elsopt, _)) { auto cond_0 = check_expr(fcx, cond); auto cond_1 = demand_expr(fcx, plain_ty(ty.ty_bool), cond_0); -- GitLab