diff options
Diffstat (limited to 'test/behavior/eval.zig')
| -rw-r--r-- | test/behavior/eval.zig | 21 |
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); + } +} |
