mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Problem: Vim9: extend() can violate the type of a variable. Solution: Add the type to the dictionary or list and check items against it. (closes #7593)
This commit is contained in:
@@ -1481,6 +1481,7 @@ struct listvar_S
|
||||
int lv_idx; // cached index of an item
|
||||
} mat;
|
||||
} lv_u;
|
||||
type_T *lv_type; // allocated by alloc_type()
|
||||
list_T *lv_copylist; // copied list used by deepcopy()
|
||||
list_T *lv_used_next; // next list in used lists list
|
||||
list_T *lv_used_prev; // previous list in used lists list
|
||||
@@ -1544,6 +1545,7 @@ struct dictvar_S
|
||||
int dv_refcount; // reference count
|
||||
int dv_copyID; // ID used by deepcopy()
|
||||
hashtab_T dv_hashtab; // hashtab that refers to the items
|
||||
type_T *dv_type; // allocated by alloc_type()
|
||||
dict_T *dv_copydict; // copied dict used by deepcopy()
|
||||
dict_T *dv_used_next; // next dict in used dicts list
|
||||
dict_T *dv_used_prev; // previous dict in used dicts list
|
||||
|
Reference in New Issue
Block a user