patch 8.2.3948: Vim9: failure with partial with unknown argument count

Problem:    Vim9: failure with partial with unknown argument count.
Solution:   Do not copy argument types if there aren't any.
diff --git a/src/version.c b/src/version.c
index 56825f5..a362dca 100644
--- a/src/version.c
+++ b/src/version.c
@@ -750,6 +750,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3948,
+/**/
     3947,
 /**/
     3946,
diff --git a/src/vim9type.c b/src/vim9type.c
index a9fb5b0..c6e80e6 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -369,19 +369,22 @@
 		    if (type == NULL)
 			return NULL;
 		    *type = *ufunc->uf_func_type;
-		    type->tt_argcount -= tv->vval.v_partial->pt_argc;
-		    type->tt_min_argcount -= tv->vval.v_partial->pt_argc;
-		    if (type->tt_argcount == 0)
-			type->tt_args = NULL;
-		    else
+		    if (type->tt_argcount >= 0)
 		    {
-			int i;
+			type->tt_argcount -= tv->vval.v_partial->pt_argc;
+			type->tt_min_argcount -= tv->vval.v_partial->pt_argc;
+			if (type->tt_argcount == 0)
+			    type->tt_args = NULL;
+			else
+			{
+			    int i;
 
-			func_type_add_arg_types(type, type->tt_argcount,
+			    func_type_add_arg_types(type, type->tt_argcount,
 								     type_gap);
-			for (i = 0; i < type->tt_argcount; ++i)
-			    type->tt_args[i] = ufunc->uf_func_type->tt_args[
+			    for (i = 0; i < type->tt_argcount; ++i)
+				type->tt_args[i] = ufunc->uf_func_type->tt_args[
 					      i + tv->vval.v_partial->pt_argc];
+			}
 		    }
 		    return type;
 		}