diff options
author | Yegappan Lakshmanan <yegappan@yahoo.com> | 2023-11-02 20:57:32 +0100 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-11-02 20:58:58 +0100 |
commit | 2b358adde079d7cc8a7f42fcd5627866641c9a59 (patch) | |
tree | cfd3290e4dc63d6866d779960b234c6c3989ca0b /src/testdir/test_vim9_class.vim | |
parent | ef9e3f8924363939ff45fa385f50f57146ff365c (diff) |
patch 9.0.2085: Vim9: abstract can be used in interfacev9.0.2085
Problem: Vim9: abstract can be used in interface
Solution: Disallow the use of abstract in an interface
fixes: #13456
closes: #13464
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/testdir/test_vim9_class.vim')
-rw-r--r-- | src/testdir/test_vim9_class.vim | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim index b3d9841247..1f639e2b3f 100644 --- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -5567,7 +5567,26 @@ def Test_abstract_method() enddef endclass END - v9.CheckSourceSuccess(lines) + v9.CheckSourceFailure(lines, 'E1404: Abstract cannot be used in an interface', 3) + + # Use abstract static method in an interface + lines =<< trim END + vim9script + interface A + abstract static def Foo() + enddef + endinterface + END + v9.CheckSourceFailure(lines, 'E1404: Abstract cannot be used in an interface', 3) + + # Use abstract static variable in an interface + lines =<< trim END + vim9script + interface A + abstract static foo: number = 10 + endinterface + END + v9.CheckSourceFailure(lines, 'E1404: Abstract cannot be used in an interface', 3) # Abbreviate the "abstract" keyword lines =<< trim END |