patch 8.2.3332: Vim9: cannot assign to range in list
Problem: Vim9: cannot assign to range in list.
Solution: Implement overwriting a list range.
diff --git a/src/testdir/test_listdict.vim b/src/testdir/test_listdict.vim
index 90f5679..1e7c812 100644
--- a/src/testdir/test_listdict.vim
+++ b/src/testdir/test_listdict.vim
@@ -164,11 +164,14 @@
" test for range assign
func Test_list_range_assign()
- let l = [0]
- let l[:] = [1, 2]
- call assert_equal([1, 2], l)
- let l[-4:-1] = [5, 6]
- call assert_equal([5, 6], l)
+ let lines =<< trim END
+ VAR l = [0]
+ LET l[:] = [1, 2]
+ call assert_equal([1, 2], l)
+ LET l[-4 : -1] = [5, 6]
+ call assert_equal([5, 6], l)
+ END
+ call CheckLegacyAndVim9Success(lines)
endfunc
" Test removing items in list
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index a96e97c..dffec4f 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -1821,7 +1821,7 @@
CheckDefFailure([
'var ll = [1, 2]',
'll[1 : 2] = 7',
- ], 'E1165:', 2)
+ ], 'E1012: Type mismatch; expected list<number> but got number', 2)
CheckDefFailure([
'var dd = {a: 1}',
'unlet dd["a" : "a"]',