about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMichael Sullivan <sully@msully.net>2011-08-31 16:46:46 -0400
committerMichael Sullivan <sully@msully.net>2011-08-31 16:46:46 -0400
commit03ddc8fdd358b0785a6bb635277336812ddbcc6a (patch)
tree2d8a4f8bb561b870f1aca8901a610963d8d1ac38 /src
parent7c02517f758a20e8d5893c8b2024fbf87f7a0447 (diff)
downloadrust-03ddc8fdd358b0785a6bb635277336812ddbcc6a.tar.gz
rust-03ddc8fdd358b0785a6bb635277336812ddbcc6a.zip
Don't check arguments types if there are an incorrect number of args. Closes #871.
Diffstat (limited to 'src')
-rw-r--r--src/comp/middle/typeck.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs
index 215b042331b..3962f849163 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.