comparison src/evalfunc.c @ 33019:04c75e67ca30 v9.0.1801

patch 9.0.1801: Vim9 instanceof() fails in a def func Commit: https://github.com/vim/vim/commit/b49ad28d731551ddbd5cc57f9c77d0df085ae845 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sun Aug 27 19:08:40 2023 +0200 patch 9.0.1801: Vim9 instanceof() fails in a def func Problem: Vim9 instanceof() fails in a def func Solution: allow Objects in compile time check closes: #12907 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author Christian Brabandt <cb@256bit.org>
date Sun, 27 Aug 2023 19:15:07 +0200
parents 75c283beb74f
children dcfbfe57141c
comparison
equal deleted inserted replaced
33018:f0ac5bb79f9f 33019:04c75e67ca30
280 * Check "type" is an object. 280 * Check "type" is an object.
281 */ 281 */
282 static int 282 static int
283 arg_object(type_T *type, type_T *decl_type UNUSED, argcontext_T *context) 283 arg_object(type_T *type, type_T *decl_type UNUSED, argcontext_T *context)
284 { 284 {
285 return check_arg_type(&t_object, type, context); 285 if (type->tt_type == VAR_OBJECT
286 || type_any_or_unknown(type))
287 return OK;
288 arg_type_mismatch(&t_object, type, context->arg_idx + 1);
289 return FAIL;
286 } 290 }
287 291
288 /* 292 /*
289 * Check "type" is a dict of 'any'. 293 * Check "type" is a dict of 'any'.
290 */ 294 */