commit 41e300adf17bc4056c574b32de4e07f129f2bd24 (tree)
parent 5374e245c50fde8bbb133bbff2db15efa3604721
Author: Andrew Kelley <andrew@ziglang.org>
Date: Wed, 23 Mar 2022 13:46:06 -0700
add behavior test to cover bug fix in previous commit
Diffstat:
1 file changed, 21 insertions(+), 0 deletions(-)
diff --git a/test/behavior/eval.zig b/test/behavior/eval.zig
@@ -1,5 +1,6 @@
const builtin = @import("builtin");
const std = @import("std");
+const assert = std.debug.assert;
const expect = std.testing.expect;
const expectEqual = std.testing.expectEqual;
@@ -830,3 +831,23 @@ test "const type-annotated local initialized with function call has correct type
try expect(@TypeOf(x) == u64);
try expect(x == 1234);
}
+
+test "comptime pointer load through elem_ptr" {
+ const S = struct {
+ x: usize,
+ };
+
+ comptime {
+ var array: [10]S = undefined;
+ for (array) |*elem, i| {
+ elem.* = .{
+ .x = i,
+ };
+ }
+ var ptr = @ptrCast([*]S, &array);
+ var x = ptr[0].x;
+ assert(x == 0);
+ ptr += 1;
+ assert(ptr[1].x == 2);
+ }
+}