diff options
| author | gingerBill <bill@gingerbill.org> | 2022-06-28 11:27:50 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-06-28 11:27:50 +0100 |
| commit | ea42613fec8aa5875e1557cbc913651ad979463c (patch) | |
| tree | 4593a1abf1b4f71a4f67ac971ecd635d441e16b8 /src/check_stmt.cpp | |
| parent | 776b48c10db280f555853edbd08f0fc634b97db9 (diff) | |
Improve error message with suggestion for #1866
Diffstat (limited to 'src/check_stmt.cpp')
| -rw-r--r-- | src/check_stmt.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/check_stmt.cpp b/src/check_stmt.cpp index f061b4961..a6f6f1a7d 100644 --- a/src/check_stmt.cpp +++ b/src/check_stmt.cpp @@ -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; |