aboutsummaryrefslogtreecommitdiff
path: root/src/check_type.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/check_type.cpp')
-rw-r--r--src/check_type.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/check_type.cpp b/src/check_type.cpp
index 0819de217..f1a2e9e22 100644
--- a/src/check_type.cpp
+++ b/src/check_type.cpp
@@ -1611,6 +1611,12 @@ gb_internal Type *determine_type_from_polymorphic(CheckerContext *ctx, Type *pol
error_line("\tSuggestion: Try slicing the value with '%s[:]'\n", os);
gb_string_free(os);
}
+ } else if (is_type_pointer(poly_type)) {
+ if (is_polymorphic_type_assignable(ctx, type_deref(poly_type), operand.type, /*compound*/false, /*modify_type*/false)) {
+ gbString os = expr_to_string(operand.expr);
+ error_line("\tSuggestion: Did you mean '&%s'?\n", os);
+ gb_string_free(os);
+ }
}
}
return t_invalid;