Mercurial > vim
diff src/testdir/test_vim9_expr.vim @ 26737:10d3105030ab v8.2.3897
patch 8.2.3897: Vim9: second argument of map() and filter() not checked
Commit: https://github.com/vim/vim/commit/1802405d71da20dff510690bf14f6da085836125
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Dec 25 21:43:28 2021 +0000
patch 8.2.3897: Vim9: second argument of map() and filter() not checked
Problem: Vim9: the second argument of map() and filter() is not checked at
compile time.
Solution: Add more specific type check for the second argument.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 25 Dec 2021 22:45:02 +0100 |
parents | c3cffd372c6f |
children | fc19375787dd |
line wrap: on
line diff
--- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -2077,7 +2077,7 @@ def Test_expr7_lambda() ) assert_equal([111, 222, 111], ll) - var dl = [{key: 0}, {key: 22}]->filter(( _, v) => v['key'] ) + var dl = [{key: 0}, {key: 22}]->filter(( _, v) => !!v['key'] ) assert_equal([{key: 22}], dl) dl = [{key: 12}, {['foo']: 34}] @@ -2236,7 +2236,7 @@ def Test_expr7_new_lambda() ) assert_equal([111, 222, 111], ll) - var dl = [{key: 0}, {key: 22}]->filter(( _, v) => v['key'] ) + var dl = [{key: 0}, {key: 22}]->filter(( _, v) => !!v['key'] ) assert_equal([{key: 22}], dl) dl = [{key: 12}, {['foo']: 34}] @@ -2308,7 +2308,7 @@ def Test_expr7_lambda_vim9script() lines =<< trim END search('"', 'cW', 0, 0, () => synstack('.', col('.')) - ->map((_, v) => synIDattr(v, 'name'))->len()) + ->mapnew((_, v) => synIDattr(v, 'name'))->len()) END CheckDefAndScriptSuccess(lines) enddef