diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-08-01 15:38:38 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-08-01 15:38:38 +0200 |
commit | 8e4c8c853e3ffbd9258f89180692879ec6bce72b (patch) | |
tree | 4c9fffbb135d0f4d2bb150e8467549e97993c88b /src/testdir | |
parent | 586268721dd5d6e50903a8a457f02e0dda901856 (diff) |
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check typev8.2.1338
Problem: Vim9: assigning to script-local variable doesn't check type.
Solution: Use the type. (issue #6591)
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_vim9_script.vim | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index ec63c6f11c..196ddbe0a2 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -251,6 +251,29 @@ def Test_assignment_dict() # type becomes dict<any> let somedict = rand() > 0 ? #{a: 1, b: 2} : #{a: 'a', b: 'b'} + + # assignment to script-local dict + let lines =<< trim END + vim9script + let test: dict<any> = {} + def FillDict(): dict<any> + test['a'] = 43 + return test + enddef + assert_equal(#{a: 43}, FillDict()) + END + call CheckScriptSuccess(lines) + + lines =<< trim END + vim9script + let test: dict<any> + def FillDict(): dict<any> + test['a'] = 43 + return test + enddef + FillDict() + END + call CheckScriptFailure(lines, 'E1103:') enddef def Test_assignment_local() |