From eb51cc6835a202d0a5fde297d87277041fc433e7 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sat, 23 Mar 2024 16:53:40 +0000 Subject: [PATCH] Improve error propagation for `(*x).y` style errors from C-programmers --- src/check_expr.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index f09c8fe3c..ab8fe78fc 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -1807,9 +1807,11 @@ gb_internal bool check_unary_op(CheckerContext *c, Operand *o, Token op) { if (is_type_pointer(o->type)) { str = expr_to_string(o->expr); error_line("\tSuggestion: Did you mean '%s^'?\n", str); + o->type = type_deref(o->type); } else if (is_type_multi_pointer(o->type)) { str = expr_to_string(o->expr); error_line("\tSuggestion: The value is a multi-pointer, did you mean '%s[0]'?\n", str); + o->type = type_deref(o->type, true); } } break;