diff options
| author | Franz Höltermann <Francis_the_cat@gmx.de> | 2024-06-14 17:43:09 +0200 |
|---|---|---|
| committer | Franz Höltermann <Francis_the_cat@gmx.de> | 2024-06-14 17:43:09 +0200 |
| commit | c3302615a3f03d2d8556b8a7ba7df01ac6448bff (patch) | |
| tree | 6cdf05bc057ed93a7e66d6a2467b63f048eeecff /src/check_expr.cpp | |
| parent | 3c3f0f90c2c8d063845cf0ecb61a23705749e445 (diff) | |
| parent | cd5fa8523f79ce981e5047dad5b66155f493d169 (diff) | |
Merge branch 'master' of https://github.com/FrancisTheCat/Odin
Diffstat (limited to 'src/check_expr.cpp')
| -rw-r--r-- | src/check_expr.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 01cba881e..359b30276 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -2550,7 +2550,7 @@ gb_internal void check_unary_expr(CheckerContext *c, Operand *o, Token op, Ast * error_line("\tSuggestion: Did you want to pass the iterable value to the for statement by pointer to get addressable semantics?\n"); } - if (is_type_map(parent_type)) { + if (parent_type != nullptr && is_type_map(parent_type)) { error_line("\t Prefer doing 'for key, &%.*s in ...'\n", LIT(e->token.string)); } else { error_line("\t Prefer doing 'for &%.*s in ...'\n", LIT(e->token.string)); @@ -3564,6 +3564,9 @@ gb_internal void check_binary_matrix(CheckerContext *c, Token const &op, Operand x->mode = Addressing_Value; if (are_types_identical(xt, yt)) { + if (are_types_identical(x->type, y->type)) { + return; + } if (!is_type_named(x->type) && is_type_named(y->type)) { // prefer the named type x->type = y->type; |