| author | |
| committer | |
| log | 6e9fbc83ca2cfe145d73a102e4175e49524d0dee |
| tree | b5537977dcf8f72d270ca84740cef82b6596914d |
| parent | f4b067743f2ad25a1153153e3a89e0fe92837ea7 |
comptime `@ptrCast` a subset of an array, then write through it
closes #24443 files changed, 15 insertions(+), 0 deletions(-)
test/behavior/array.zig+1| ... | ... | @@ -61,6 +61,7 @@ test "array concat with undefined" { |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | test "array concat with tuple" { |
| 64 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | |
| 64 | 65 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 65 | 66 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 66 | 67 |
test/behavior/bugs/12571.zig+1| ... | ... | @@ -14,6 +14,7 @@ const Entry = packed struct { |
| 14 | 14 | test { |
| 15 | 15 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 16 | 16 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 17 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | |
| 17 | 18 | |
| 18 | 19 | const frame = Frame{ .num = 0x7FDE }; |
| 19 | 20 | var entry = Entry{ .other = 0, .frame = .{ .num = 0xFFFFF } }; |
test/behavior/ptrcast.zig+13| ... | ... | @@ -257,3 +257,16 @@ test "@ptrCast slice to slice" { |
| 257 | 257 | try expect(buf[1] == 42); |
| 258 | 258 | try expect(alias.len == 4); |
| 259 | 259 | } |
| 260 | ||
| 261 | test "comptime @ptrCast a subset of an array, then write through it" { | |
| 262 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | |
| 263 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | |
| 264 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | |
| 265 | ||
| 266 | comptime { | |
| 267 | var buff: [16]u8 align(4) = undefined; | |
| 268 | const len_bytes = @ptrCast(*u32, &buff); | |
| 269 | len_bytes.* = 16; | |
| 270 | std.mem.copy(u8, buff[4..], "abcdef"); | |
| 271 | } | |
| 272 | } |