Browse Source

Add `x: T; y: ^T = x` suggestion to do `&x`

gingerBill 1 year ago
parent
commit
b1dae2d59a
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/check_expr.cpp

+ 6 - 0
src/check_expr.cpp

@@ -2248,6 +2248,12 @@ gb_internal void check_assignment_error_suggestion(CheckerContext *c, Operand *o
 		gbString s = expr_to_string(c->type_hint_expr);
 		error_line("\tSuggestion: make sure that `%s` is attached to the compound literal directly\n", s);
 		gb_string_free(s);
+	} else if (is_type_pointer(type) &&
+	           o->mode == Addressing_Variable &&
+	           are_types_identical(type_deref(type), o->type)) {
+		gbString s = expr_to_string(o->expr);
+		error_line("\tSuggestion: Did you mean `&%s`\n", s);
+		gb_string_free(s);
 	}
 }