Improve the error message for miscasing types in the last argument of a method (#2629)

* Improve the error message for miscasing types in the last argument of a method
---------

Co-authored-by: Christoffer Lerno <christoffer@aegik.com>
This commit is contained in:
Lexi
2025-12-11 10:46:56 -05:00
committed by GitHub
parent 37d42d555d
commit bf62d11a73
2 changed files with 8 additions and 1 deletions

View File

@@ -1736,6 +1736,12 @@ CHECK_ELLIPSIS:
vec_add(params, param);
if (!try_consume(c, TOKEN_COMMA)) break;
}
if (tok_is(c, TOKEN_LBRACE) || tok_is(c, TOKEN_STAR) || tok_is(c, TOKEN_LBRACKET))
{
PRINT_ERROR_LAST("Expected the name of a type here. ('%s' in a parameter list must follow a type).", token_type_to_string(c->tok));
return false;
}
*params_ref = params;
return true;
}

View File

@@ -2,4 +2,5 @@ fn void foo1(int... x;) {} // #error: Expected ')'
fn void foo2(... x;) {} // #error: Expected ')'
fn void foo3(... x;) {} // #error: Expected ')'
fn void foo4(;) {} // #error: Expected ')'
fn void foo5(int x;) {} // #error: Expected ')'
fn void foo5(int x;) {} // #error: Expected ')'
fn void foo6(string[] x) {} // #error: Expected the name of a type here. ('[' in a parameter list must follow a type)