Mercurial > vim
diff src/testdir/test_vim9_assign.vim @ 26833:434eaef2ac62 v8.2.3945
patch 8.2.3945: Vim9: partial variable argument types are wrong
Commit: https://github.com/vim/vim/commit/13789bf10338a0d049c78acfdc0870fc63e63f4f
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Dec 30 13:29:00 2021 +0000
patch 8.2.3945: Vim9: partial variable argument types are wrong
Problem: Vim9: partial variable argument types are wrong, leading to a
crash.
Solution: When adjusting the argument count also adjust the argument types.
(closes #9433)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 30 Dec 2021 14:30:04 +0100 |
parents | a07323eb647f |
children | 15913ba6363e |
line wrap: on
line diff
--- a/src/testdir/test_vim9_assign.vim +++ b/src/testdir/test_vim9_assign.vim @@ -847,6 +847,36 @@ def Test_assignment_partial() Ref() END CheckScriptSuccess(lines) + + lines =<< trim END + vim9script + + var nres: any + var sres: any + def Func(n: number, s = '') + nres = n + sres = s + enddef + + var n: number + var Ref = function(Func, [n]) + Ref('x') + assert_equal(0, nres) + assert_equal('x', sres) + END + CheckScriptSuccess(lines) + + lines =<< trim END + vim9script + + def Func(n: number, s = '') + enddef + + var n: number + var Ref = function(Func, [n]) + Ref(0) + END + CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected string but got number') enddef def Test_assignment_list_any_index()