Mercurial > vim
diff src/testdir/test_vim9_script.vim @ 24440:d2f9bdd938fa v8.2.2760
patch 8.2.2760: Vim9: no error for changing a for loop variable
Commit: https://github.com/vim/vim/commit/f6a8d420a8d2924737f713de046947dcb487550c
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Apr 13 21:48:03 2021 +0200
patch 8.2.2760: Vim9: no error for changing a for loop variable
Problem: Vim9: no error for changing a for loop variable.
Solution: Make the loop variable read-only. (issue https://github.com/vim/vim/issues/8102)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 13 Apr 2021 22:00:05 +0200 |
parents | 5c6ccab68d1e |
children | f388a033e568 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -2393,6 +2393,14 @@ def Test_for_loop_fails() g:adict = {a: 1} CheckDefExecFailure(['for i in g:adict', 'echo 3', 'endfor'], 'E1177: For loop on dict not supported') unlet g:adict + + var lines =<< trim END + var d: list<dict<any>> = [{a: 0}] + for e in d + e = {a: 0, b: ''} + endfor + END + CheckDefAndScriptFailure2(lines, 'E1018:', 'E46:', 3) enddef def Test_for_loop_script_var()