diff src/vim9type.c @ 25465:b8a6a0007dc3 v8.2.3269

patch 8.2.3269: Vim9: wrong argument check for partial Commit: https://github.com/vim/vim/commit/f78da4f9d6daf1907e4ce4be74146375dbd9a546 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Aug 1 15:40:31 2021 +0200 patch 8.2.3269: Vim9: wrong argument check for partial Problem: Vim9: wrong argument check for partial. (Naohiro Ono) Solution: Handle getting return type without arguments. Correct the minimal number of arguments for what is included in the partial. (closes #8667)
author Bram Moolenaar <Bram@vim.org>
date Sun, 01 Aug 2021 15:45:04 +0200
parents effe5f2b4d01
children 0082503ff2ff
line wrap: on
line diff
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -378,6 +378,11 @@ typval2type_int(typval_T *tv, int copyID
     type->tt_type = tv->v_type;
     type->tt_argcount = argcount;
     type->tt_min_argcount = min_argcount;
+    if (tv->v_type == VAR_PARTIAL && tv->vval.v_partial->pt_argc > 0)
+    {
+	type->tt_argcount -= tv->vval.v_partial->pt_argc;
+	type->tt_min_argcount -= tv->vval.v_partial->pt_argc;
+    }
     type->tt_member = member_type;
 
     return type;