Sema: disable repeated aggregate storage use with mismatching sentinel
The InternPool implementation was not written to support this, but that could be changed and this check removed in the future.
This commit is contained in:
committed by
Andrew Kelley
parent
a3b3ac0ea4
commit
0777e98bfe
@@ -13094,7 +13094,7 @@ fn zirArrayMul(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai
|
||||
const val = v: {
|
||||
// Optimization for the common pattern of a single element repeated N times, such
|
||||
// as zero-filling a byte array.
|
||||
if (lhs_len == 1) {
|
||||
if (lhs_len == 1 and lhs_info.sentinel == null) {
|
||||
const elem_val = try lhs_sub_val.elemValue(mod, 0);
|
||||
break :v try mod.intern(.{ .aggregate = .{
|
||||
.ty = result_ty.toIntern(),
|
||||
|
||||
Reference in New Issue
Block a user