Commit 5259d11e3b

Veikka Tuominen <git@vexu.eu>
2023-01-21 22:12:12
Sema: resolve fields before checking tuple len
Closes #14400
1 parent 5f5ab49
Changed files (2)
src
test
behavior
src/Sema.zig
@@ -3948,6 +3948,7 @@ fn validateArrayInitTy(
             return;
         },
         .Struct => if (ty.isTuple()) {
+            _ = try sema.resolveTypeFields(ty);
             const array_len = ty.arrayLen();
             if (extra.init_count > array_len) {
                 return sema.fail(block, src, "expected at most {d} tuple fields; found {d}", .{
test/behavior/struct.zig
@@ -1573,3 +1573,8 @@ test "struct fields get automatically reordered" {
     };
     try expect(@sizeOf(S1) == @sizeOf(S2));
 }
+
+test "directly initiating tuple like struct" {
+    const a = struct { u8 }{8};
+    try expect(a[0] == 8);
+}