patch 8.2.3353: Vim9: type of argument for negate not checked at compile time

Problem:    Vim9: type of argument for negate not checked at compile time.
Solution:   Add a compile time check.
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index 15a68dd..710c8ee 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -1680,25 +1680,27 @@
 enddef
 
 def NegateNumber(): number
-  var nr = 9
-  var plus = +nr
-  var res = -nr
-  return res
+  g:nr = 9
+  var plus = +g:nr
+  var minus = -g:nr
+  return minus
 enddef
 
 def Test_disassemble_negate_number()
   var instr = execute('disassemble NegateNumber')
   assert_match('NegateNumber\_s*' ..
-        'var nr = 9\_s*' ..
-        '\d STORE 9 in $0\_s*' ..
-        'var plus = +nr\_s*' ..
-        '\d LOAD $0\_s*' ..
-        '\d CHECKNR\_s*' ..
-        '\d STORE $1\_s*' ..
-        'var res = -nr\_s*' ..
-        '\d LOAD $0\_s*' ..
+        'g:nr = 9\_s*' ..
+        '\d PUSHNR 9\_s*' ..
+        '\d STOREG g:nr\_s*' ..
+        'var plus = +g:nr\_s*' ..
+        '\d LOADG g:nr\_s*' ..
+        '\d CHECKTYPE number stack\[-1\]\_s*' ..
+        '\d STORE $0\_s*' ..
+        'var minus = -g:nr\_s*' ..
+        '\d LOADG g:nr\_s*' ..
+        '\d CHECKTYPE number stack\[-1\]\_s*' ..
         '\d NEGATENR\_s*' ..
-        '\d STORE $2\_s*',
+        '\d STORE $1\_s*',
         instr)
   assert_equal(-9, NegateNumber())
 enddef