comparison src/vim9type.c @ 25137:34f18d4081af v8.2.3105

patch 8.2.3105: Vim9: type of partial is wrong when it has arguments Commit: https://github.com/vim/vim/commit/97f227d9c9351f12138d923ffdf9232dc5520bef Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 4 20:20:52 2021 +0200 patch 8.2.3105: Vim9: type of partial is wrong when it has arguments Problem: Vim9: type of partial is wrong when it has arguments. Solution: Subtract arguments from the count. (issue https://github.com/vim/vim/issues/8492)
author Bram Moolenaar <Bram@vim.org>
date Sun, 04 Jul 2021 20:30:03 +0200
parents 5731bcaaabcb
children 694f114a7673
comparison
equal deleted inserted replaced
25136:d838f9187c57 25137:34f18d4081af
353 == FAIL) 353 == FAIL)
354 return NULL; 354 return NULL;
355 if (ufunc->uf_func_type == NULL) 355 if (ufunc->uf_func_type == NULL)
356 set_function_type(ufunc); 356 set_function_type(ufunc);
357 if (ufunc->uf_func_type != NULL) 357 if (ufunc->uf_func_type != NULL)
358 {
359 if (tv->v_type == VAR_PARTIAL
360 && tv->vval.v_partial->pt_argc > 0)
361 {
362 type = get_type_ptr(type_gap);
363 if (type == NULL)
364 return NULL;
365 *type = *ufunc->uf_func_type;
366 type->tt_argcount -= tv->vval.v_partial->pt_argc;
367 type->tt_min_argcount -= tv->vval.v_partial->pt_argc;
368 return type;
369 }
358 return ufunc->uf_func_type; 370 return ufunc->uf_func_type;
371 }
359 } 372 }
360 } 373 }
361 374
362 type = get_type_ptr(type_gap); 375 type = get_type_ptr(type_gap);
363 if (type == NULL) 376 if (type == NULL)