Browse Source

Merge pull request #2145 from jaspergeer/fix-scalar-cast-to-non-square-matrix

fix #2130 Assertion failure in compiler on cast of scalar to non-square matrix
Jeroen van Rijn 2 years ago
parent
commit
03c834e410
1 changed files with 6 additions and 5 deletions
  1. 6 5
      src/check_expr.cpp

+ 6 - 5
src/check_expr.cpp

@@ -821,11 +821,12 @@ i64 check_distance_between_types(CheckerContext *c, Operand *operand, Type *type
 		if (are_types_identical(src, dst)) {
 		if (are_types_identical(src, dst)) {
 			return 5;
 			return 5;
 		}
 		}
-
-		Type *dst_elem = base_array_type(dst);
-		i64 distance = check_distance_between_types(c, operand, dst_elem);
-		if (distance >= 0) {
-			return distance + 7;
+		if (dst->Matrix.row_count == dst->Matrix.column_count) {
+			Type *dst_elem = base_array_type(dst);
+			i64 distance = check_distance_between_types(c, operand, dst_elem);
+			if (distance >= 0) {
+				return distance + 7;
+			}
 		}
 		}
 	}
 	}