patch 8.2.4662: no error for using out of range list index
Problem: No error for using out of range list index.
Solution: Check list index at script level like in compiled function.
(closes #10051)
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 0a25ca4..57d205c 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -288,6 +288,12 @@
s ..= {a: 2}
END
v9.CheckDefAndScriptFailure(lines, ['E1105: Cannot convert dict to string', 'E734: Wrong variable type for .='], 2)
+
+ lines =<< trim END
+ var ls: list<string> = []
+ ls[-1] ..= 'foo'
+ END
+ v9.CheckDefExecAndScriptFailure(lines, 'E684: list index out of range: -1', 2)
enddef
def Test_assign_register()