0
0
mirror of https://github.com/vim/vim.git synced 2025-10-03 05:14:07 -04:00

patch 8.2.2145: Vim9: concatenating lists does not adjust type of result

Problem:    Vim9: concatenating lists does not adjust type of result.
Solution:   When list member types differ use "any" member type.
            (closes #7473)
This commit is contained in:
Bram Moolenaar
2020-12-15 21:28:57 +01:00
parent 025cb1ca86
commit 399ea8108c
3 changed files with 35 additions and 6 deletions

View File

@@ -1317,6 +1317,23 @@ func Test_expr5_fails_channel()
call CheckDefFailure(["var x = 'a' .. test_null_channel()"], 'E1105:', 1)
endfunc
def Test_expr5_list_add()
# concatenating two lists with same member types is OK
var d = {}
for i in ['a'] + ['b']
d = {[i]: 0}
endfor
# concatenating two lists with different member types results in "any"
var lines =<< trim END
var d = {}
for i in ['a'] + [0]
d = {[i]: 0}
endfor
END
CheckDefExecFailure(lines, 'E1012:')
enddef
" test multiply, divide, modulo
def Test_expr6()
var lines =<< trim END