patch 9.0.1821: Vim9 constructors are always static
Problem: Vim9 constructors are always static
Solution: make the "static" keyword an error
closes: #12945
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Gianmaria Bajo <mg1979.git@gmail.com>
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index 319eb05..184e96d 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -1317,6 +1317,18 @@
END
v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected number but got string')
+ lines =<< trim END
+ vim9script
+
+ class C
+ static def new()
+ enddef
+ endclass
+
+ defcompile C.new
+ END
+ v9.CheckScriptFailure(lines, 'E1370: Cannot define a "new" function as static')
+
# Trying to compile a function using a non-existing class variable
lines =<< trim END
vim9script