mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Better error for int Foo(int a) declarations #1516
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
- Const vector -> const slice implicit conversion.
|
||||
- Slicing arrays, slices and bytes at compile time #1466.
|
||||
- Better error for `int a[4] = ...`. #1518
|
||||
- Better error for `int Foo(int a)` declarations #1516
|
||||
|
||||
### Fixes
|
||||
- `Unsupported int[*] $x = { 1, 2, 3, 4 }` #1489.
|
||||
|
||||
@@ -1134,6 +1134,14 @@ static inline Decl *parse_global_declaration(ParseContext *c)
|
||||
{
|
||||
if (token_is_some_ident(c->tok))
|
||||
{
|
||||
if ((c->tok == TOKEN_TYPE_IDENT || c->tok == TOKEN_CONST_IDENT) &&
|
||||
c->lexer.token_type == TOKEN_LPAREN)
|
||||
{
|
||||
PRINT_ERROR_HERE("This looks like the beginning of a C style function declaration. "
|
||||
"Unfortunately it seems to be missing the initial 'fn' and "
|
||||
"the function name does not start with a lower case.");
|
||||
return poisoned_decl;
|
||||
}
|
||||
PRINT_ERROR_HERE("I expected a variable name here, but global variables need to start with lower case.");
|
||||
return poisoned_decl;
|
||||
}
|
||||
|
||||
@@ -8,9 +8,9 @@ fn void! rc_crypt() @test
|
||||
char[200] x;
|
||||
String text = "The quick brown fox jumps over the lazy dog.";
|
||||
rc.crypt(text, &x);
|
||||
char[*] res = x`2ac2fecdd8fbb84638e3a4
|
||||
char[*] res = x'2ac2fecdd8fbb84638e3a4
|
||||
820eb205cc8e29c28b9d5d
|
||||
6b2ef974f311964971c90e
|
||||
8b9ca16467ef2dc6fc3520`;
|
||||
8b9ca16467ef2dc6fc3520';
|
||||
assert(res[:text.len] == x[:text.len]);
|
||||
}
|
||||
Reference in New Issue
Block a user