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); +}