aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/array.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2024-04-02 04:01:52 -0400
committerAndrew Kelley <andrew@ziglang.org>2024-04-02 13:45:07 -0700
commit4794c6a526ea507984af8aa460a6897da1c7c785 (patch)
tree9759a25622c30ef37b78da25aa4f2063770b1885 /test/behavior/array.zig
parentd2be725e4b14c33dbd39054e33d926913eee3cd4 (diff)
downloadzig-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.zig11
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 == {});
+}