patch 8.2.1956: Vim9: cannot specify argument types for lambda
Problem: Vim9: cannot specify argument types for lambda.
Solution: Allow adding argument types. Check arguments when calling a
function reference.
diff --git a/src/eval.c b/src/eval.c
index 1859e5e..dc77153 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3266,7 +3266,7 @@
* Lambda: {arg, arg -> expr}
* Dictionary: {'key': val, 'key': val}
*/
- case '{': ret = get_lambda_tv(arg, rettv, evalarg);
+ case '{': ret = get_lambda_tv(arg, rettv, FALSE, evalarg);
if (ret == NOTDONE)
ret = eval_dict(arg, rettv, evalarg, FALSE);
break;
@@ -3554,7 +3554,7 @@
*arg += 2;
rettv->v_type = VAR_UNKNOWN;
- ret = get_lambda_tv(arg, rettv, evalarg);
+ ret = get_lambda_tv(arg, rettv, FALSE, evalarg);
if (ret != OK)
return FAIL;
else if (**arg != '(')