patch 8.2.3682: Vim9: assigning to a script variable drops the type
Problem: Vim9: assigning to a script variable drops the required type.
Solution: Lookup the type of the variable and use it. (closes #9219)
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 0d07e07..df8f486 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -322,6 +322,16 @@
CheckDefAndScriptSuccess(lines)
enddef
+def Test_assign_keep_type()
+ var lines =<< trim END
+ vim9script
+ var l: list<number> = [123]
+ l = [123]
+ l->add('string')
+ END
+ CheckScriptFailure(lines, 'E1012:', 4)
+enddef
+
def Test_assign_unpack()
var lines =<< trim END
var v1: number