From 127542bcebeb6480493b09d75a3be1d98a5f7797 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 9 Aug 2020 17:22:04 +0200 Subject: patch 8.2.1407: Vim9: type of list and dict only depends on first item Problem: Vim9: type of list and dict only depends on first item. Solution: Use all items to decide about the type. --- runtime/doc/vim9.txt | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'runtime') diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt index 7f7b15bb23..8ff70595f4 100644 --- a/runtime/doc/vim9.txt +++ b/runtime/doc/vim9.txt @@ -619,6 +619,8 @@ called in the same way the declaration is the same. Custom types can be defined with `:type`: > :type MyList list +Custom types must start with a capital letter, to avoid name clashes with +builtin types added later, similarly to user functions. {not implemented yet} And classes and interfaces can be used as types: > @@ -645,6 +647,12 @@ declaring a variable and giving it a value: > let var = 0 " infers number type let var = 'hello' " infers string type +The type of a list and dictionary comes from the common type of the values. +If the values all have the same type, that type is used for the list or +dictionary. If there is a mix of types, the "any" type is used. > + [1, 2, 3] list + ['a', 'b', 'c'] list + [1, 'x', 3] list ============================================================================== -- cgit v1.2.3