1
0
forked from aniani/vim

patch 8.2.2744: Vim9: no way to explicitly ignore an argument

Problem:    Vim9: no way to explicitly ignore an argument.
Solution:   Use the underscore as the name for an ignored argument.
This commit is contained in:
Bram Moolenaar
2021-04-10 17:18:09 +02:00
parent 599410cb3c
commit 962c43bf0d
7 changed files with 86 additions and 5 deletions

View File

@@ -2619,6 +2619,41 @@ def Test_compile_error()
delfunc g:Broken
enddef
def Test_ignored_argument()
var lines =<< trim END
vim9script
def Ignore(_, _): string
return 'yes'
enddef
assert_equal('yes', Ignore(1, 2))
func Ok(_)
return a:_
endfunc
assert_equal('ok', Ok('ok'))
func Oktoo()
let _ = 'too'
return _
endfunc
assert_equal('too', Oktoo())
END
CheckScriptSuccess(lines)
lines =<< trim END
def Ignore(_: string): string
return _
enddef
defcompile
END
CheckScriptFailure(lines, 'E1181:', 1)
lines =<< trim END
var _ = 1
END
CheckDefAndScriptFailure(lines, 'E1181:', 1)
enddef
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker