1
0
forked from aniani/vim

patch 8.2.4016: Vim9: incorrect error for argument that is shadowing var

Problem:    Vim9: incorrect error for argument that is shadowing var.
Solution:   Ignore variable that is not in block where the function was
            defined.
This commit is contained in:
Bram Moolenaar
2022-01-06 12:23:30 +00:00
parent 269dc63618
commit 58493cfae2
3 changed files with 19 additions and 4 deletions

View File

@@ -933,6 +933,21 @@ def Test_local_function_shadows_global()
delfunc g:Func
END
CheckScriptSuccess(lines)
# This does not shadow "i" which is visible only inside the for loop
lines =<< trim END
vim9script
def Foo(i: number)
echo i
enddef
for i in range(3)
# Foo() is compiled here
Foo(i)
endfor
END
CheckScriptSuccess(lines)
enddef
func TakesOneArg(arg)