patch 8.2.0517: Vim9: cannot separate "func" and "func(): void"
Problem: Vim9: cannot separate "func" and "func(): void".
Solution: Use VAR_ANY for "any" and VAR_UNKNOWN for "no type".
diff --git a/src/eval.c b/src/eval.c
index 6d666e6..3b789da 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1272,6 +1272,7 @@
switch (tv1->v_type)
{
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
case VAR_DICT:
case VAR_FUNC:
@@ -2967,6 +2968,7 @@
emsg(_("E909: Cannot index a special variable"));
return FAIL;
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
if (evaluate)
return FAIL;
@@ -3073,6 +3075,7 @@
switch (rettv->v_type)
{
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
case VAR_FUNC:
case VAR_PARTIAL:
@@ -3668,7 +3671,7 @@
}
/*
- * Return the function name of the partial.
+ * Return the function name of partial "pt".
*/
char_u *
partial_name(partial_T *pt)
@@ -3856,6 +3859,7 @@
return tv1->vval.v_string == tv2->vval.v_string;
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
break;
}
@@ -4570,6 +4574,7 @@
case VAR_NUMBER:
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
*tofree = NULL;
r = tv_get_string_buf(tv, numbuf);
@@ -5422,6 +5427,7 @@
#endif
case VAR_NUMBER:
case VAR_FLOAT:
+ case VAR_ANY:
case VAR_UNKNOWN:
case VAR_VOID:
case VAR_BOOL:
@@ -5486,6 +5492,7 @@
varp->vval.v_channel = NULL;
#endif
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
break;
}
@@ -5565,6 +5572,7 @@
emsg(_("E974: Using a Blob as a Number"));
break;
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
internal_error_no_abort("tv_get_number(UNKNOWN)");
break;
@@ -5619,6 +5627,7 @@
emsg(_("E975: Using a Blob as a Float"));
break;
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
internal_error_no_abort("tv_get_float(UNKNOWN)");
break;
@@ -5742,6 +5751,7 @@
#endif
break;
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
emsg(_(e_inval_string));
break;
@@ -5891,6 +5901,7 @@
}
break;
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
internal_error_no_abort("copy_tv(UNKNOWN)");
break;
@@ -5970,6 +5981,7 @@
ret = FAIL;
break;
case VAR_UNKNOWN:
+ case VAR_ANY:
case VAR_VOID:
internal_error_no_abort("item_copy(UNKNOWN)");
ret = FAIL;