mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-13 01:21:38 -07:00
Improve error message with suggestion for #1866
This commit is contained in:
+20
-1
@@ -2142,7 +2142,26 @@ void check_stmt_internal(CheckerContext *ctx, Ast *node, u32 flags) {
|
||||
}
|
||||
|
||||
if (new_name_count == 0) {
|
||||
error(node, "No new declarations on the lhs");
|
||||
begin_error_block();
|
||||
error(node, "No new declarations on the left hand side");
|
||||
bool all_underscore = true;
|
||||
for_array(i, vd->names) {
|
||||
Ast *name = vd->names[i];
|
||||
if (name->kind == Ast_Ident) {
|
||||
if (!is_blank_ident(name)) {
|
||||
all_underscore = false;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
all_underscore = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (all_underscore) {
|
||||
error_line("\tSuggestion: Try changing the declaration (:=) to an assignment (=)\n");
|
||||
}
|
||||
|
||||
end_error_block();
|
||||
}
|
||||
|
||||
Type *init_type = nullptr;
|
||||
|
||||
+6
-5
@@ -724,10 +724,11 @@ gb_global RecursiveMutex g_type_mutex;
|
||||
|
||||
struct TypePath;
|
||||
|
||||
i64 type_size_of (Type *t);
|
||||
i64 type_align_of (Type *t);
|
||||
i64 type_offset_of (Type *t, i32 index);
|
||||
gbString type_to_string (Type *type, bool shorthand=false);
|
||||
i64 type_size_of (Type *t);
|
||||
i64 type_align_of (Type *t);
|
||||
i64 type_offset_of (Type *t, i32 index);
|
||||
gbString type_to_string (Type *type, bool shorthand=true);
|
||||
gbString type_to_string (Type *type, gbAllocator allocator, bool shorthand=true);
|
||||
i64 type_size_of_internal(Type *t, TypePath *path);
|
||||
void init_map_internal_types(Type *type);
|
||||
Type * bit_set_to_int(Type *t);
|
||||
@@ -4287,7 +4288,7 @@ gbString write_type_to_string(gbString str, Type *type, bool shorthand=false) {
|
||||
}
|
||||
|
||||
|
||||
gbString type_to_string(Type *type, gbAllocator allocator, bool shorthand=false) {
|
||||
gbString type_to_string(Type *type, gbAllocator allocator, bool shorthand) {
|
||||
return write_type_to_string(gb_string_make(allocator, ""), type, shorthand);
|
||||
}
|
||||
gbString type_to_string(Type *type, bool shorthand) {
|
||||
|
||||
Reference in New Issue
Block a user