patch 8.2.0206: calling Vim9 function using default argument fails

Problem:    Calling Vim9 function using default argument fails.
Solution:   Give an appropriate error. (closes #5572)
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 2eeea54..fee0708 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -131,6 +131,34 @@
   assert_equal('one,two,three', MyVarargs('one', 'two', 'three'))
 enddef
 
+"def Test_call_func_defined_later()
+"  call assert_equal('one', DefineLater('one'))
+"  call assert_fails('call NotDefined("one")', 'E99:')
+"enddef
+
+func DefineLater(arg)
+  return a:arg
+endfunc
+
+def MyDefaultArgs(name = 'string'): string
+  return name
+enddef
+
+func Test_call_default_args_from_func()
+  " TODO: implement using default value for optional argument
+  "call assert_equal('string', MyDefaultArgs())
+  call assert_fails('call MyDefaultArgs()', 'optional arguments not implemented yet')
+  call assert_equal('one', MyDefaultArgs('one'))
+  call assert_fails('call MyDefaultArgs("one", "two")', 'E118:')
+endfunc
+
+def Test_call_default_args()
+  " TODO: implement using default value for optional argument
+  "assert_equal('string', MyDefaultArgs())
+  assert_equal('one', MyDefaultArgs('one'))
+  assert_fails('call MyDefaultArgs("one", "two")', 'E118:')
+enddef
+
 def Test_return_type_wrong()
   " TODO: why is ! needed for Mac and FreeBSD?
   CheckScriptFailure(['def Func(): number', 'return "a"', 'enddef'], 'expected number but got string')