summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_vim9_class.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2023-01-05 13:16:04 +0000
committerBram Moolenaar <Bram@vim.org>2023-01-05 13:16:04 +0000
commitcf760d50dceb46bd583321c210b88b92360eb959 (patch)
tree83c8681eebf2582148de2c4e98fc022a4a5b7f0f /src/testdir/test_vim9_class.vim
parent2468add0b88849997e6349e7a0b997be133c022d (diff)
patch 9.0.1149: class members may be garbage collectedv9.0.1149
Problem: Class members may be garbage collected. Solution: Mark class members as being in use.
Diffstat (limited to 'src/testdir/test_vim9_class.vim')
-rw-r--r--src/testdir/test_vim9_class.vim17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index a55671bcb6..b98b96f58e 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -493,6 +493,23 @@ def Test_class_member()
v9.CheckScriptFailure(lines, 'E1341: Variable already declared in the class: count')
enddef
+func Test_class_garbagecollect()
+ let lines =<< trim END
+ vim9script
+
+ class Point
+ this.p = [2, 3]
+ static pl = ['a', 'b']
+ static pd = {a: 'a', b: 'b'}
+ endclass
+
+ echo Point.pl Point.pd
+ call test_garbagecollect_now()
+ echo Point.pl Point.pd
+ END
+ call v9.CheckScriptSuccess(lines)
+endfunc
+
def Test_class_function()
var lines =<< trim END
vim9script