summaryrefslogtreecommitdiff
path: root/src/vim9type.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vim9type.c')
-rw-r--r--src/vim9type.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/vim9type.c b/src/vim9type.c
index 29466d006..4f4876da0 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -24,7 +24,7 @@
* Allocate memory for a type_T and add the pointer to type_gap, so that it can
* be freed later.
*/
- static type_T *
+ type_T *
alloc_type(garray_T *type_gap)
{
type_T *type;
@@ -359,6 +359,10 @@ check_type(type_T *expected, type_T *actual, int give_msg, int argidx)
{
if (expected->tt_type != actual->tt_type)
{
+ if (expected->tt_type == VAR_BOOL && actual->tt_type == VAR_NUMBER
+ && (actual->tt_flags & TTFLAG_BOOL_OK))
+ // Using number 0 or 1 for bool is OK.
+ return OK;
if (give_msg)
arg_type_mismatch(expected, actual, argidx);
return FAIL;