patch 8.2.1813: Vim9: can assign wrong type to script dict
Problem: Vim9: can assign wrong type to script dict. (Christian J. Robinson)
Solution: Check the type if known.
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 7fc5223..02bc56b 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -145,6 +145,15 @@
CheckDefFailure(['var Ref: string', 'var res = Ref()'], 'E1085:')
enddef
+def Test_script_wrong_type()
+ var lines =<< trim END
+ vim9script
+ var s:dict: dict<string>
+ s:dict['a'] = ['x']
+ END
+ CheckScriptFailure(lines, 'E1012: Type mismatch; expected string but got list<string>', 3)
+enddef
+
def Test_const()
CheckDefFailure(['final name = 234', 'name = 99'], 'E1018:')
CheckDefFailure(['final one = 234', 'var one = 99'], 'E1017:')