Преглед на файлове

Check to see if matrices are exactly the same type

gingerBill преди 1 година
родител
ревизия
c5f7788652
променени са 1 файла, в които са добавени 3 реда и са изтрити 2 реда
  1. 3 2
      src/check_expr.cpp

+ 3 - 2
src/check_expr.cpp

@@ -3564,12 +3564,13 @@ 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;
 					}
-					// finish
-					return;
 				} else {
 					bool is_row_major = xt->Matrix.is_row_major && yt->Matrix.is_row_major;
 					x->type = alloc_type_matrix(xt->Matrix.elem, xt->Matrix.row_count, yt->Matrix.column_count, nullptr, nullptr, is_row_major);