patch 9.0.1248: cannot export an interface
Problem: Cannot export an interface. (Ernie Rael)
Solution: Add the EX_EXPORT flag to :interface. (closes #11884)
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index 3892136..5edd511 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -822,6 +822,29 @@
endinterface
END
v9.CheckScriptFailure(lines, 'E1345: Not a valid command in an interface: return 5')
+
+ lines =<< trim END
+ vim9script
+ export interface EnterExit
+ def Enter(): void
+ def Exit(): void
+ endinterface
+ END
+ writefile(lines, 'XdefIntf.vim', 'D')
+
+ lines =<< trim END
+ vim9script
+ import './XdefIntf.vim' as defIntf
+ export def With(ee: defIntf.EnterExit, F: func)
+ ee.Enter()
+ try
+ F()
+ finally
+ ee.Exit()
+ endtry
+ enddef
+ END
+ v9.CheckScriptSuccess(lines)
enddef
def Test_class_implements_interface()