From 540130650f843f0c6aa79c2a2f29e79b33846994 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Mon, 19 Sep 2022 17:06:57 +0300 Subject: [PATCH] Sema: pass calculated offset to `elemPtrType` in `elemPtrSlice` --- src/Sema.zig | 2 +- test/behavior/align.zig | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Sema.zig b/src/Sema.zig index 4402a28100..773b7aa66c 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -22692,7 +22692,7 @@ fn elemPtrSlice( break :o index; } else null; - const elem_ptr_ty = try sema.elemPtrType(slice_ty, null); + const elem_ptr_ty = try sema.elemPtrType(slice_ty, offset); if (maybe_undef_slice_val) |slice_val| { if (slice_val.isUndef()) { diff --git a/test/behavior/align.zig b/test/behavior/align.zig index 51481580cf..5270aa9692 100644 --- a/test/behavior/align.zig +++ b/test/behavior/align.zig @@ -564,3 +564,8 @@ test "@alignCast null" { const aligned: ?*anyopaque = @alignCast(@alignOf(?*anyopaque), ptr); try expect(aligned == null); } + +test "alignment of slice element" { + const a: []align(1024) const u8 = undefined; + try expect(@TypeOf(&a[0]) == *align(1024) const u8); +}