comparison src/testdir/test_vim9_assign.vim @ 25776:f31cf0388eab v8.2.3423

patch 8.2.3423: Vim9: list += list creates a new list in :def function Commit: https://github.com/vim/vim/commit/07802044b90b2cbcc64b2dfe235f019d7c37589c Author: Bram Moolenaar <Bram@vim.org> Date: Thu Sep 9 23:01:14 2021 +0200 patch 8.2.3423: Vim9: list += list creates a new list in :def function Problem: Vim9: list += list creates a new list in :def function. Solution: Append to the existing list.
author Bram Moolenaar <Bram@vim.org>
date Thu, 09 Sep 2021 23:15:04 +0200
parents ba4e6e74c89f
children 7351926fbe9e
comparison
equal deleted inserted replaced
25775:90bcb4296e14 25776:f31cf0388eab
555 CheckDefFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<unknown>', 2) 555 CheckDefFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<unknown>', 2)
556 enddef 556 enddef
557 557
558 def Test_extend_list() 558 def Test_extend_list()
559 var lines =<< trim END 559 var lines =<< trim END
560 vim9script 560 var l1: list<number>
561 var l: list<number> 561 var l2 = l1
562 l += [123] 562 assert_true(l1 is l2)
563 assert_equal([123], l) 563 l1 += [123]
564 END 564 assert_equal([123], l1)
565 CheckScriptSuccess(lines) 565 assert_true(l1 is l2)
566 566 END
567 lines =<< trim END 567 CheckDefAndScriptSuccess(lines)
568 vim9script 568
569 lines =<< trim END
569 var list: list<string> 570 var list: list<string>
570 extend(list, ['x']) 571 extend(list, ['x'])
571 assert_equal(['x'], list) 572 assert_equal(['x'], list)
572 END 573 END
573 CheckScriptSuccess(lines) 574 CheckDefAndScriptSuccess(lines)
574 575
575 # appending to NULL list from a function 576 # appending to NULL list from a function
576 lines =<< trim END 577 lines =<< trim END
577 vim9script 578 vim9script
578 var list: list<string> 579 var list: list<string>