diff options
Diffstat (limited to 'src/vim9type.c')
-rw-r--r-- | src/vim9type.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/vim9type.c b/src/vim9type.c index 393c69d7e7..436a42de51 100644 --- a/src/vim9type.c +++ b/src/vim9type.c @@ -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, |