From 8b1bfc80fbc51e84e3b10bc284243457731e4929 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sat, 10 Jul 2021 11:27:38 +0100 Subject: [PATCH] Fix #1051 --- src/check_expr.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 68909acaa..be9b311d1 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -3826,7 +3826,9 @@ Entity *check_selector(CheckerContext *c, Operand *operand, Ast *node, Type *typ Type *swizzle_array_type = nullptr; Type *bth = base_type(type_hint); - if (bth != nullptr && bth->kind == Type_Array && bth->Array.count == index_count) { + if (bth != nullptr && bth->kind == Type_Array && + bth->Array.count == index_count && + are_types_identical(bth->Array.elem, array_type->Array.elem)) { swizzle_array_type = type_hint; } else { swizzle_array_type = alloc_type_array(array_type->Array.elem, index_count);