1
0
forked from aniani/vim

patch 8.2.3422: Vim9: no failure if return type differs from returned var

Problem:    Vim9: no failure if return type differs from returned variable.
Solution:   Copy type when copying a list. (closes #8847)
This commit is contained in:
Bram Moolenaar
2021-09-09 22:30:52 +02:00
parent 6c391a74fe
commit efc084e335
3 changed files with 26 additions and 0 deletions

View File

@@ -438,6 +438,29 @@ def Test_return_invalid()
CheckScriptFailure(lines, 'E1010:')
enddef
def Test_return_list_any()
var lines =<< trim END
vim9script
def Func(): list<string>
var l: list<any>
l->add('string')
return l
enddef
echo Func()
END
CheckScriptFailure(lines, 'E1012:')
lines =<< trim END
vim9script
def Func(): list<string>
var l: list<any>
l += ['string']
return l
enddef
echo Func()
END
CheckScriptFailure(lines, 'E1012:')
enddef
func Increment()
let g:counter += 1
endfunc