patch 9.0.0840: cannot change a slice of a const list
Problem: Cannot change a slice of a const list. (Takumi KAGIYAMA)
Solution: Remove the const flag from the slice type. (closes #11490)
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index bc4a790..5a17880 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -3132,6 +3132,18 @@
unlet g:testlist
enddef
+def s:GetList(): list<string>
+ return ['a', 'b', 'z']
+enddef
+
+def Test_slice_const_list()
+ const list = GetList()
+ final sliced = list[0 : 1]
+ # OK to change the list after slicing, it is a copy now
+ add(sliced, 'Z')
+ assert_equal(['a', 'b', 'Z'], sliced)
+enddef
+
def Test_expr9_const_any_index_slice()
var lines =<< trim END
vim9script