summaryrefslogtreecommitdiff
path: root/src/testdir/test_vim9_expr.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-12-24 21:36:12 +0000
committerBram Moolenaar <Bram@vim.org>2021-12-24 21:36:12 +0000
commitd787e40fdbe6f4d8bf47d36186c1d9d51c29b853 (patch)
tree7d55c1381d9d0ab309fec50c463e33b281c05d1e /src/testdir/test_vim9_expr.vim
parente7f4abd38b6e05100c699900c8f87281e363beb2 (diff)
downloadvim-git-d787e40fdbe6f4d8bf47d36186c1d9d51c29b853.tar.gz
patch 8.2.3890: Vim9: type check for using v: variables is basicv8.2.3890
Problem: Vim9: type check for using v: variables is basic. Solution: Specify a more precise type.
Diffstat (limited to 'src/testdir/test_vim9_expr.vim')
-rw-r--r--src/testdir/test_vim9_expr.vim15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 259d7722b..9cf035a61 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1821,8 +1821,21 @@ def Test_expr7_string()
enddef
def Test_expr7_vimvar()
+ v:errors = []
+ var errs: list<string> = v:errors
+ CheckDefFailure(['var errs: list<number> = v:errors'], 'E1012:')
+
var old: list<string> = v:oldfiles
- var compl: dict<any> = v:completed_item
+ CheckDefFailure(['var old: list<number> = v:oldfiles'], 'E1012:')
+
+ var compl: dict<string> = v:completed_item
+ CheckDefFailure(['var compl: dict<number> = v:completed_item'], 'E1012:')
+
+ var args: list<string> = v:argv
+ CheckDefFailure(['var args: list<number> = v:argv'], 'E1012:')
+
+ var colors: dict<string> = v:colornames
+ CheckDefFailure(['var colors: dict<number> = v:colornames'], 'E1012:')
CheckDefFailure(["var old: list<number> = v:oldfiles"], 'E1012: Type mismatch; expected list<number> but got list<string>', 1)
CheckScriptFailure(['vim9script', 'v:oldfiles = ["foo"]', "var old: list<number> = v:oldfiles"], 'E1012: Type mismatch; expected list<number> but got list<string>', 3)