From 7f4ce2e1790e43541def82ee3acf3a0a5307b735 Mon Sep 17 00:00:00 2001 From: Morten Hauke Solvang Date: Sat, 19 Oct 2024 10:25:13 +0200 Subject: [PATCH] Suggestion when assigning enum to bit_set --- src/check_expr.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index d3141ed845b..5ebc737a5bb 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -8475,6 +8475,15 @@ gb_internal ExprKind check_implicit_selector_expr(CheckerContext *c, Operand *o, error(node, "Undeclared name '%.*s' for type '%s'", LIT(name), typ); check_did_you_mean_type(name, bt->Enum.fields); + } else if (is_type_bit_set(th) && is_type_enum(th->BitSet.elem)) { + ERROR_BLOCK(); + + gbString typ = type_to_string(th); + gbString str = expr_to_string(node); + error(node, "Cannot convert enum value to '%s'", typ); + error_line("\tSuggestion: Did you mean '{ %s }'?\n", str); + gb_string_free(typ); + gb_string_free(str); } else { gbString typ = type_to_string(th); gbString str = expr_to_string(node);