forked from aniani/vim
patch 9.0.1559: function argument types not always checked
Problem: Function argument types not always checked and using v:none may cause an error. Solution: Check argument types once the function type is known. Do not give an error for using v:none as an argument. (closes #12200)
This commit is contained in:
@@ -970,7 +970,10 @@ check_argument_types(
|
||||
}
|
||||
else
|
||||
expected = type->tt_args[i];
|
||||
if (check_typval_arg_type(expected, tv, NULL, i + 1) == FAIL)
|
||||
|
||||
// check the type, unless the value is v:none
|
||||
if ((tv->v_type != VAR_SPECIAL || tv->vval.v_number != VVAL_NONE)
|
||||
&& check_typval_arg_type(expected, tv, NULL, i + 1) == FAIL)
|
||||
return FAIL;
|
||||
}
|
||||
return OK;
|
||||
|
Reference in New Issue
Block a user