patch 8.2.4304: Vim9: slice() makes a copy but doesn't change the type
Problem: Vim9: slice() makes a copy but doesn't change the type.
Solution: Change the declared type like copy(). (closes #9696)
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 743cb50..557ddf2 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -3619,6 +3619,9 @@
assert_equal([], slice(range(6), 1, -5))
assert_equal([], slice(range(6), 1, -6))
+ var lds: list<dict<string>> = [{key: 'value'}]
+ assert_equal(['val'], lds->slice(0, 1)->map((_, v) => 'val'))
+
assert_equal(0z1122334455, slice(0z001122334455, 1))
assert_equal(0z112233, slice(0z001122334455, 1, 4))
assert_equal(0z11223344, slice(0z001122334455, 1, -1))