From 03ddc8fdd358b0785a6bb635277336812ddbcc6a Mon Sep 17 00:00:00 2001 From: Michael Sullivan Date: Wed, 31 Aug 2011 16:46:46 -0400 Subject: [PATCH] Don't check arguments types if there are an incorrect number of args. Closes #871. --- src/comp/middle/typeck.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs index 215b042331b4..3962f8491630 100644 --- a/src/comp/middle/typeck.rs +++ b/src/comp/middle/typeck.rs @@ -1606,12 +1606,10 @@ fn check_expr_with_unifier(fcx: &@fn_ctxt, expr: &@ast::expr, unify: &unifier, if supplied_arg_count == 1u { ~" was" } else { ~"s were" }]); - // HACK: extend the arguments list with dummy arguments to + // HACK: build an arguments list with dummy arguments to // check against - let dummy = {mode: ty::mo_val, ty: ty::mk_nil(fcx.ccx.tcx)}; - while vec::len(arg_tys) < supplied_arg_count { - arg_tys += [dummy]; - } + let dummy = {mode: ty::mo_val, ty: ty::mk_bot(fcx.ccx.tcx)}; + arg_tys = vec::init_elt(dummy, supplied_arg_count); } // Check the arguments.