diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2024-04-02 04:01:52 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-04-02 13:45:07 -0700 |
| commit | 4794c6a526ea507984af8aa460a6897da1c7c785 (patch) | |
| tree | 9759a25622c30ef37b78da25aa4f2063770b1885 /test/behavior/array.zig | |
| parent | d2be725e4b14c33dbd39054e33d926913eee3cd4 (diff) | |
| download | zig-4794c6a526ea507984af8aa460a6897da1c7c785.tar.gz zig-4794c6a526ea507984af8aa460a6897da1c7c785.zip | |
Sema: fix crash accessing array of opv types
Closes #19499
Diffstat (limited to 'test/behavior/array.zig')
| -rw-r--r-- | test/behavior/array.zig | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/behavior/array.zig b/test/behavior/array.zig index 9761ac5bd7..23ea10557f 100644 --- a/test/behavior/array.zig +++ b/test/behavior/array.zig @@ -944,3 +944,14 @@ test "union that needs padding bytes inside an array" { const a = as[0].B; try std.testing.expect(a.D == 1); } + +test "runtime index of array of zero-bit values" { + var runtime: struct { array: [1]void, index: usize } = undefined; + runtime = .{ .array = .{{}}, .index = 0 }; + const result = struct { index: usize, value: void }{ + .index = runtime.index, + .value = runtime.array[runtime.index], + }; + try std.testing.expect(result.index == 0); + try std.testing.expect(result.value == {}); +} |
