Mercurial > vim
diff src/testdir/test_vim9_assign.vim @ 24363:1a145eb83a28 v8.2.2722
patch 8.2.2722: Vim9: crash when using LHS with double index
Commit: https://github.com/vim/vim/commit/b9c0cd897ab4ad54f514187e89719c0241393f8b
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Apr 5 20:51:00 2021 +0200
patch 8.2.2722: Vim9: crash when using LHS with double index
Problem: Vim9: crash when using LHS with double index.
Solution: Handle lhs_dest which is "dest_expr". (closes https://github.com/vim/vim/issues/8068)
Fix confusing error message for missing dict item.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 05 Apr 2021 21:00:04 +0200 |
parents | 108a6e2497f6 |
children | 95b8937804d3 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_assign.vim +++ b/src/testdir/test_vim9_assign.vim @@ -1146,6 +1146,12 @@ def Test_assign_dict_with_op() assert_equal(2, dn.a) dn.a %= 6 assert_equal(2, dn.a) + + var dd: dict<dict<list<any>>> + dd.a = {} + dd.a.b = [0] + dd.a.b += [1] + assert_equal({a: {b: [0, 1]}}, dd) END CheckDefAndScriptSuccess(lines) enddef @@ -1187,6 +1193,13 @@ def Test_assign_with_op_fails() s[1] ..= 'x' END CheckDefAndScriptFailure2(lines, 'E1141:', 'E689:', 2) + + lines =<< trim END + var dd: dict<dict<list<any>>> + dd.a = {} + dd.a.b += [1] + END + CheckDefExecAndScriptFailure(lines, 'E716:', 3) enddef def Test_assign_lambda()