patch 8.2.2387: runtime type check does not mention argument index
Problem: Runtime type check does not mention argument index.
Solution: Add ct_arg_idx. (closes #7720)
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 50dc2a0..06b5ecd 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -263,7 +263,7 @@
CheckDefFailure(['extend({a: 1}, {b: 2}, 1)'], 'E1013: Argument 3: type mismatch, expected string but got number')
CheckDefFailure(['extend([1], ["b"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>')
- CheckDefExecFailure(['extend([1], ["b", 1])'], 'E1012: Type mismatch; expected list<number> but got list<any>')
+ CheckDefExecFailure(['extend([1], ["b", 1])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<any>')
enddef
def Test_extendnew()
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index 1aab9d5..f40bcf0 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -934,7 +934,7 @@
'return Ref(g:value)\_s*' ..
'\d LOADG g:value\_s*' ..
'\d LOAD $0\_s*' ..
- '\d CHECKTYPE number stack\[-2\]\_s*' ..
+ '\d CHECKTYPE number stack\[-2\] arg 1\_s*' ..
'\d PCALL (argc 1)\_s*' ..
'\d RETURN',
instr)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index da0a0e6..fc1ed21 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -144,6 +144,22 @@
assert_fails('ReturnGlobal()', 'E1012: Type mismatch; expected number but got string', '', 1, 'ReturnGlobal')
enddef
+def Test_check_argument_type()
+ var lines =<< trim END
+ vim9script
+ def Val(a: number, b: number): number
+ return 0
+ enddef
+ def Func()
+ var x: any = true
+ Val(0, x)
+ enddef
+ disass Func
+ Func()
+ END
+ CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected number but got bool', 2)
+enddef
+
def Test_missing_return()
CheckDefFailure(['def Missing(): number',
' if g:cond',