diff options
-rw-r--r-- | gcc/rust/analysis/rust-type-resolution.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/rust/analysis/rust-type-resolution.cc b/gcc/rust/analysis/rust-type-resolution.cc index f79da50..03f3d27 100644 --- a/gcc/rust/analysis/rust-type-resolution.cc +++ b/gcc/rust/analysis/rust-type-resolution.cc @@ -471,6 +471,14 @@ TypeResolution::visit (AST::CallExpr &expr) if (fndecl == NULL) return; + // check num args match + if (fndecl->function_params.size () != expr.params.size ()) + { + rust_error_at (expr.get_locus_slow (), + "differing number of arguments vs parameters to function"); + return; + } + typeBuffer.push_back (fndecl->return_type.get ()); expr.fndeclRef = fndecl; |