patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level

Problem:    Vim9: cannot use type in for loop unpack at script level.
Solution:   Advance over the type name.
diff --git a/src/evalvars.c b/src/evalvars.c
index eb9ad6d..ebfc42b 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1523,7 +1523,7 @@
 	    else
 	    {
 		set_var_lval(&lv, p, tv, copy, flags, op, var_idx);
-		arg_end = p;
+		arg_end = lv.ll_name_end;
 	    }
 	}
 	clear_lval(&lv);
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index af7e5fd..03da2fd 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -2336,8 +2336,22 @@
       endfor
       assert_equal(6, total)
 
-      # loop over string
+      # with type
+      total = 0
+      for n: number in [1, 2, 3]
+        total += n
+      endfor
+      assert_equal(6, total)
+
+      # unpack with type
       var res = ''
+      for [n: number, s: string] in [[1, 'a'], [2, 'b']]
+        res ..= n .. s
+      endfor
+      assert_equal('1a2b', res)
+
+      # loop over string
+      res = ''
       for c in 'aéc̀d'
         res ..= c .. '-'
       endfor
@@ -2364,13 +2378,6 @@
       assert_equal([{a: 'Cat', counter: 12}], foo)
   END
   CheckDefAndScriptSuccess(lines)
-
-  # TODO: should also work at script level
-  var res = ""
-  for [n: number, s: string] in [[1, 'a'], [2, 'b']]
-    res ..= n .. s
-  endfor
-  assert_equal('1a2b', res)
 enddef
 
 def Test_for_loop_fails()
diff --git a/src/version.c b/src/version.c
index 72da5f9..3dee026 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2763,
+/**/
     2762,
 /**/
     2761,