forked from aniani/vim
patch 9.0.2155: Vim9: type not kept when assigning vars
Problem: Vim9: type not kept when assigning vars Solution: When assigning a List or a Dict value to a variable of type 'any', keep the type closes: #13639 closes: #13646 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
f48558e10a
commit
d33518522a
@@ -201,6 +201,10 @@ set_tv_type_recurse(type_T *type)
|
||||
void
|
||||
set_tv_type(typval_T *tv, type_T *type)
|
||||
{
|
||||
if (type->tt_type == VAR_ANY)
|
||||
// If the variable type is "any", then keep the value type.
|
||||
// e.g. var x: any = [1, 2] or var y: any = {v: 1}
|
||||
return;
|
||||
if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
|
||||
{
|
||||
dict_T *d = tv->vval.v_dict;
|
||||
|
Reference in New Issue
Block a user