diff src/testdir/test_vim9_expr.vim @ 21387:8d58cbb07a12 v8.2.1244

patch 8.2.1244: Vim9: in lambda index assumes a list Commit: https://github.com/vim/vim/commit/6802cce407b8b181bcf3eafe701fa9f8a91f7a73 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 19 15:49:49 2020 +0200 patch 8.2.1244: Vim9: in lambda index assumes a list Problem: Vim9: in lambda index assumes a list. Solution: Use the value type to decide about list or dict. (closes https://github.com/vim/vim/issues/6479)
author Bram Moolenaar <Bram@vim.org>
date Sun, 19 Jul 2020 16:00:04 +0200
parents fb8c8fcb7b60
children 320581a133d9
line wrap: on
line diff
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1115,7 +1115,7 @@ def Test_expr7_list()
   call CheckDefExecFailure(["let x = g:anint[3]"], 'E714:')
   call CheckDefFailure(["let x = g:list_mixed[xxx]"], 'E1001:')
   call CheckDefFailure(["let x = [1,2,3]"], 'E1069:')
-  call CheckDefExecFailure(["let x = g:list_mixed['xx']"], 'E39:')
+  call CheckDefExecFailure(["let x = g:list_mixed['xx']"], 'E1029:')
   call CheckDefFailure(["let x = g:list_mixed["], 'E1097:')
   call CheckDefFailure(["let x = g:list_mixed[0"], 'E1097:')
   call CheckDefExecFailure(["let x = g:list_empty[3]"], 'E684:')
@@ -1173,6 +1173,9 @@ def Test_expr7_lambda()
 	})
   assert_equal([111, 222, 111], ll)
 
+  let dl = [{'key': 0}, {'key': 22}]->filter({ _, v -> v['key'] })
+  assert_equal([{'key': 22}], dl)
+
   call CheckDefFailure(["filter([1, 2], {k,v -> 1})"], 'E1069:')
 enddef