forked from aniani/vim
patch 9.0.1108: type error when using "any" type and adding to float
Problem: Type error when using "any" type and adding a number to a float. Solution: Accept both a number and a float. (closes #11753)
This commit is contained in:
@@ -813,6 +813,11 @@ check_type_maybe(
|
||||
&& (actual->tt_flags & TTFLAG_BOOL_OK))
|
||||
// Using number 0 or 1 for bool is OK.
|
||||
return OK;
|
||||
if (expected->tt_type == VAR_FLOAT
|
||||
&& (expected->tt_flags & TTFLAG_NUMBER_OK)
|
||||
&& actual->tt_type == VAR_NUMBER)
|
||||
// Using number where float is expected is OK here.
|
||||
return OK;
|
||||
if (give_msg)
|
||||
type_mismatch_where(expected, actual, where);
|
||||
return FAIL;
|
||||
@@ -848,7 +853,8 @@ check_type_maybe(
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < expected->tt_argcount && i < actual->tt_argcount; ++i)
|
||||
for (i = 0; i < expected->tt_argcount
|
||||
&& i < actual->tt_argcount; ++i)
|
||||
// Allow for using "any" argument type, lambda's have them.
|
||||
if (actual->tt_args[i] != &t_any && check_type(
|
||||
expected->tt_args[i], actual->tt_args[i], FALSE,
|
||||
|
Reference in New Issue
Block a user