patch 9.0.1265: using an interface method may give a compilation error
Problem: Using an interface method may give a compilation error.
Solution: Do not try to compile the body of a method of an interface.
(closes #11885)
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index 023068c..a8128c7 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -1049,6 +1049,23 @@
unlet g:result
END
v9.CheckScriptSuccess(lines)
+
+ # No class that implements the interface.
+ lines =<< trim END
+ vim9script
+
+ interface IWithEE
+ def Enter(): any
+ def Exit(): void
+ endinterface
+
+ def With1(ee: IWithEE, F: func)
+ var r = ee.Enter()
+ enddef
+
+ defcompile
+ END
+ v9.CheckScriptSuccess(lines)
enddef
def Test_class_used_as_type()