mirror of
https://github.com/odin-lang/Odin.git
synced 2026-06-07 19:14:19 +00:00
Improve error message for multi-valued global declarations not be allowed
This commit is contained in:
@@ -2860,12 +2860,8 @@ bool check_arity_match(CheckerContext *c, AstValueDecl *vd, bool is_global) {
|
||||
return false;
|
||||
} else if (is_global) {
|
||||
Ast *n = vd->values[rhs-1];
|
||||
isize total = get_total_value_count(vd->values);
|
||||
if (total > rhs) {
|
||||
error(n, "Global declarations do not allow for multi-valued expressions. Expected %td expressions on the right hand side, got %td", lhs, rhs);
|
||||
} else {
|
||||
error(n, "Expected %td expressions on the right hand side, got %td", lhs, rhs);
|
||||
}
|
||||
error(n, "Expected %td expressions on the right hand side, got %td", lhs, rhs);
|
||||
error_line("Note: Global declarations do not allow for multi-valued expressions");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2835,7 +2835,12 @@ Ast *parse_value_decl(AstFile *f, Array<Ast *> names, CommentGroup *docs) {
|
||||
|
||||
if (f->curr_proc == nullptr) {
|
||||
if (values.count > 0 && names.count != values.count) {
|
||||
syntax_error(values[0], "Expected %td expressions on the right hand side, got %td", names.count, values.count);
|
||||
syntax_error(
|
||||
values[0],
|
||||
"Expected %td expressions on the right hand side, got %td\n"
|
||||
"\tNote: Global declarations do not allow for multi-valued expressions",
|
||||
names.count, values.count
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user