patch 8.2.4310: Vim9: constant list and dict get a declaration type
Problem: Vim9: constant list and dict get a declaration type other than
"any".
Solution: A constant list and dict have a declared member type "any".
(closes #9701)
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 557ddf2..ee32b39 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -2237,6 +2237,11 @@
g:gl = l
map(g:gl, (k, v) => true)
assert_equal([true], g:gl)
+
+ assert_equal(['x'], [[1, 2]]->map((_, v) => 'x'))
+ assert_equal(['x'], [{a: 0}]->map((_, v) => 'x'))
+ assert_equal({a: 'x'}, {a: [1, 2]}->map((_, v) => 'x'))
+ assert_equal({a: 'x'}, {a: {b: 2}}->map((_, v) => 'x'))
END
v9.CheckDefAndScriptSuccess(lines)
enddef