0
0
mirror of https://github.com/vim/vim.git synced 2025-10-04 05:25:06 -04:00

patch 8.2.2558: no error if a lambda argument shadows a variable

Problem:    No error if a lambda argument shadows a variable.
Solution:   Check that the argument name shadows a local, argument or script
            variable. (closes #7898)
This commit is contained in:
Bram Moolenaar
2021-02-28 16:55:11 +01:00
parent 087b5ff35d
commit 057e84afe5
9 changed files with 80 additions and 33 deletions

View File

@@ -2843,7 +2843,7 @@ def Test_expr7_trailing()
# lambda method call
l = [2, 5]
l->((l) => add(l, 8))()
l->((ll) => add(ll, 8))()
assert_equal([2, 5, 8], l)
# dict member
@@ -3034,8 +3034,8 @@ def Test_expr7_subscript_linebreak()
enddef
func Test_expr7_trailing_fails()
call CheckDefFailure(['var l = [2]', 'l->((l) => add(l, 8))'], 'E107:', 2)
call CheckDefFailure(['var l = [2]', 'l->((l) => add(l, 8)) ()'], 'E274:', 2)
call CheckDefFailure(['var l = [2]', 'l->((ll) => add(ll, 8))'], 'E107:', 2)
call CheckDefFailure(['var l = [2]', 'l->((ll) => add(ll, 8)) ()'], 'E274:', 2)
endfunc
func Test_expr_fails()