diff src/evalfunc.c @ 26765:e5fdd48c442b v8.2.3911

patch 8.2.3911: Vim9: type check for filter() does not accept unknown Commit: https://github.com/vim/vim/commit/ef8f04b1d1daf2e0be8fa38dedcae84ebfc5ffb4 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Dec 27 12:29:19 2021 +0000 patch 8.2.3911: Vim9: type check for filter() does not accept unknown Problem: Vim9: type check for filter() does not accept unknown. Solution: Also accept unknown for the return type. (closes https://github.com/vim/vim/issues/9413)
author Bram Moolenaar <Bram@vim.org>
date Mon, 27 Dec 2021 13:30:03 +0100
parents 4ea53126f78f
children 08508fc809cc
line wrap: on
line diff
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -494,6 +494,7 @@ arg_filter_func(type_T *type, argcontext
     if (type->tt_type == VAR_FUNC
 	    && !(type->tt_member->tt_type == VAR_BOOL
 		|| type->tt_member->tt_type == VAR_NUMBER
+		|| type->tt_member->tt_type == VAR_UNKNOWN
 		|| type->tt_member->tt_type == VAR_ANY))
     {
 	arg_type_mismatch(&t_func_bool, type, context->arg_idx + 1);