patch 8.2.1135: Vim9: getting a dict member may not work
Problem: Vim9: getting a dict member may not work.
Solution: Clear the dict only after copying the item.
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index aef1815..b3906c1 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1128,6 +1128,8 @@
CheckScriptFailure(lines, 'E1069:')
enddef
+let g:oneString = 'one'
+
def Test_expr_member()
assert_equal(1, g:dict_one.one)
let d: dict<number> = g:dict_one
@@ -1135,6 +1137,7 @@
# getting the one member should clear the dict after getting the item
assert_equal('one', #{one: 'one'}.one)
+ assert_equal('one', #{one: 'one'}[g:oneString])
call CheckDefFailure(["let x = g:dict_one.#$!"], 'E1002:')
call CheckDefExecFailure(["let d: dict<any>", "echo d['a']"], 'E716:')