patch 8.2.1285: Vim9: argument types are not checked on assignment
Problem: Vim9: argument types are not checked on assignment.
Solution: Check function argument types. (issue #6507)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index c8c6afe..b0bbab3 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -293,6 +293,15 @@
Funcref(123)
END
CheckScriptSuccess(lines)
+
+ lines =<< trim END
+ vim9script
+ def UseNumber(nr: number)
+ echo nr
+ enddef
+ let Funcref: func(string) = function('UseNumber')
+ END
+ CheckScriptFailure(lines, 'E1013: type mismatch, expected func(string) but got func(number)')
enddef
let SomeFunc = function('len')