patch 8.2.3894: Vim9: no proper type check for first argument of call()
Problem: Vim9: no proper type check for first argument of call().
Solution: Add specific type check.
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 298a3be..1bdb12b 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -402,6 +402,9 @@
var l = [3, 2, 1]
call('reverse', [l])
l->assert_equal([1, 2, 3])
+
+ CheckDefExecAndScriptFailure(['call(123, [2])'], 'E1256: String or function required for argument 1')
+ CheckDefExecAndScriptFailure(['call(true, [2])'], 'E1256: String or function required for argument 1')
CheckDefAndScriptFailure(['call("reverse", 2)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2'])
CheckDefAndScriptFailure(['call("reverse", [2], [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3'])
enddef