Problem: Vim9: parsing function argument type can get stuck.
Solution: Bail out when not making progress.
call CheckDefFailure(['TakesOneArg()'], 'E119:')
call CheckDefFailure(['TakesOneArg(11, 22)'], 'E118:')
call CheckDefFailure(['bufnr(xxx)'], 'E1001:')
+ call CheckScriptFailure(['def Func(Ref: func(s: string))'], 'E475:')
enddef
" Default arg and varargs
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 682,
/**/
681,
/**/
++p;
while (*p != ')' && *p != NUL)
{
+ char_u *sp = p;
+
p = skip_type(p);
+ if (p == sp)
+ return p; // syntax error
if (*p == ',')
p = skipwhite(p + 1);
}