Fix ICE in overloaded call with incorrect arity

When an overloaded call expression has parameters but the function
object takes none, construct an array of formal argument types with
the arity of the call expression so that we don't fail by indexing out
of bounds later.

Closes #16939
Add regression test for issue #16939
auto merge of #18109 : bkoropoff/rust/issue-16939, r=aturon

Closes #16939