Skip to content

Commit 5259d11

Browse files
committed
Sema: resolve fields before checking tuple len
Closes #14400
1 parent 5f5ab49 commit 5259d11

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/Sema.zig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3948,6 +3948,7 @@ fn validateArrayInitTy(
39483948
return;
39493949
},
39503950
.Struct => if (ty.isTuple()) {
3951+
_ = try sema.resolveTypeFields(ty);
39513952
const array_len = ty.arrayLen();
39523953
if (extra.init_count > array_len) {
39533954
return sema.fail(block, src, "expected at most {d} tuple fields; found {d}", .{

test/behavior/struct.zig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1573,3 +1573,8 @@ test "struct fields get automatically reordered" {
15731573
};
15741574
try expect(@sizeOf(S1) == @sizeOf(S2));
15751575
}
1576+
1577+
test "directly initiating tuple like struct" {
1578+
const a = struct { u8 }{8};
1579+
try expect(a[0] == 8);
1580+
}

0 commit comments

Comments
 (0)