patch 8.2.0336: Vim9: insufficient test coverage for compiling

Problem:    Vim9: insufficient test coverage for compiling.
Solution:   Add more tests.
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 5ece652..1ec3c6f 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -9,6 +9,12 @@
   call delete('Xdef')
 endfunc
 
+func CheckDefFailureMult(lines, error)
+  call writefile(['def! Func()'] + a:lines + ['enddef'], 'Xdef')
+  call assert_fails('so Xdef', a:error, join(a:lines, ' | '))
+  call delete('Xdef')
+endfunc
+
 " Check that "line" inside ":def" results in an "error" message when executed.
 func CheckDefExecFailure(line, error)
   call writefile(['def! Func()', a:line, 'enddef'], 'Xdef')
@@ -805,6 +811,8 @@
   call CheckDefExecFailure("let x = +g:ablob", 'E974:')
   call CheckDefExecFailure("let x = +g:alist", 'E745:')
   call CheckDefExecFailure("let x = +g:adict", 'E728:')
+
+  call CheckDefFailureMult(["let x = ''", "let y = x.memb"], 'E715:')
 endfunc
 
 let g:Funcrefs = [function('add')]
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index f1b21d4..ac8bd75 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -53,6 +53,10 @@
   let dict4: dict<any> = #{one: 1, two: '2'}
   let dict5: dict<blob> = #{one: 0z01, tw: 0z02}
 
+  if has('channel')
+    let chan1: channel
+  endif
+
   g:newvar = 'new'
   assert_equal('new', g:newvar)
 
@@ -91,6 +95,21 @@
 
   call CheckDefFailure(['let var = feedkeys("0")'], 'E1031:')
   call CheckDefFailure(['let var: number = feedkeys("0")'], 'expected number but got void')
+
+  call CheckDefFailure(['let var: dict <number>'], 'E1007:')
+  call CheckDefFailure(['let var: dict<number'], 'E1009:')
+
+  call CheckDefFailure(['let var: ally'], 'E1010:')
+  call CheckDefFailure(['let var: bram'], 'E1010:')
+  call CheckDefFailure(['let var: cathy'], 'E1010:')
+  call CheckDefFailure(['let var: dom'], 'E1010:')
+  call CheckDefFailure(['let var: freddy'], 'E1010:')
+  call CheckDefFailure(['let var: john'], 'E1010:')
+  call CheckDefFailure(['let var: larry'], 'E1010:')
+  call CheckDefFailure(['let var: ned'], 'E1010:')
+  call CheckDefFailure(['let var: pam'], 'E1010:')
+  call CheckDefFailure(['let var: sam'], 'E1010:')
+  call CheckDefFailure(['let var: vim'], 'E1010:')
 endfunc
 
 func Test_const()
@@ -203,6 +222,12 @@
   assert_equal('one,two,three', MyDefVarargs('one', 'two', 'three'))
 enddef
 
+def Test_using_var_as_arg()
+  call writefile(['def Func(x: number)',  'let x = 234', 'enddef'], 'Xdef')
+  call assert_fails('so Xdef', 'E1006:')
+  call delete('Xdef')
+enddef
+
 def Test_call_func_defined_later()
   call assert_equal('one', DefinedLater('one'))
   call assert_fails('call NotDefined("one")', 'E117:')