aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/eval.zig
diff options
context:
space:
mode:
Diffstat (limited to 'test/behavior/eval.zig')
-rw-r--r--test/behavior/eval.zig21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/behavior/eval.zig b/test/behavior/eval.zig
index 03a7a511f0..c4c6f47981 100644
--- 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);
+ }
+}