@@ -120,49 +120,38 @@ Upcoming larger works:
120120 - example plugin: https://github.com/uga-rosa/dps-vsctm.vim
121121
122122
123- Further Vim9 improvements, possibly after launch :
123+ Further Vim9 improvements:
124124- Classes and Interfaces. See | vim9-classes |
125- - Change access: public by default, private by prefixing "_".
126- Check for error: can't have same name twice (ignoring "_" prefix).
127- - Private methods?
128- either: private def Func()
129- or: def _Func()
130- Perhaps use "private" keyword instead of "_" prefix?
131125 - "final" object members - can only be set in the constructor.
132- - Support export/import of classes and interfaces.
133126 - Cannot use class type of itself in the method (Issue #12369)
134127 - Cannot use an object method in a lambda #12417
135128 Define all methods before compiling them?
136129 - Cannot call class member of funcref type (Issue #12324)
137130 Also #12081 first case.
138131 - Using list of functions does not work #12081 (repro in later message).
139132 - First argument of call() cannot be "obj.Func". (#11865)
140- - null_object - constant type 17 not supported (Issue #12043)
141- - problem compiling object method call as function call argument (Issue
142- #12081)
143- - Make ":defcompile ClassName" compile all functions and methods in the
144- class.
145- - Forward declaration of a class? E.g. for Clone() function.
146- email lifepillar 2023 Mar 26
147133 - Getting member of variable with "any" type should be handled at runtime.
148134 Remove temporary solution from #12096 / patch 9.0.1375.
149135 - "obj.Method()" does not always work in a compiled function, assumes "obj"
150136 is a dictionary. #12196 Issue #12024 might be the same problem.
151137 Issue #11822: any.Func() can be a dict or an object call, need to handle
152138 this at runtime. Also see #12198 for an example.
153139 Possibly issue #11981 can be fixed at the same time (has two examples).
154- - accept line breaks in member initialization. #11957
140+ - Support export/import of classes and interfaces.
141+ - Make ":defcompile ClassName" compile all functions and methods in the
142+ class.
143+ - Forward declaration of a class? E.g. for Clone() function.
144+ Email lifepillar 2023 Mar 26
155145 - object empty(), len() - can class define a method to be used for them?
156146 - add to help: when using a default new() method then reordering object
157147 members may cause trouble. Can define new() without arguments to avoid.
158- - TODO items: check types for "implements" - members and methods
159148 - When "Meta" is a class, is "const MetaAlias = Meta" allowed? It should
160- either work or given an error. possibly give an error now and implement it
149+ either work or given an error. Possibly give an error now and implement it
161150 later (using a typedef). #12006
162151 - how about lock/unlock?
163- - When checking "implements" also check types of members and function args.
164152 - For chaining, allow using the class name as type for function return
165153 value.
154+ - Implement "specifies" interface
166155 - Implement generics
167156 - Add "assignable" (class or child)?
168157 - More efficient way for interface member index than iterating over list?
0 commit comments