diff --git a/lib/std/multi_array_list.zig b/lib/std/multi_array_list.zig index 11aec707ab..e6f7ea4fc3 100644 --- a/lib/std/multi_array_list.zig +++ b/lib/std/multi_array_list.zig @@ -320,11 +320,7 @@ pub fn MultiArrayList(comptime S: type) type { inline for (fields) |field_info, i| { if (@sizeOf(field_info.field_type) != 0) { const field = @intToEnum(Field, i); - // TODO we should be able to use std.mem.copy here but it causes a - // test failure on aarch64 with -OReleaseFast - const src_slice = mem.sliceAsBytes(self_slice.items(field)); - const dst_slice = mem.sliceAsBytes(other_slice.items(field)); - @memcpy(dst_slice.ptr, src_slice.ptr, src_slice.len); + mem.copy(field_info.field_type, other_slice.items(field), self_slice.items(field)); } } gpa.free(self.allocatedBytes()); @@ -388,11 +384,7 @@ pub fn MultiArrayList(comptime S: type) type { inline for (fields) |field_info, i| { if (@sizeOf(field_info.field_type) != 0) { const field = @intToEnum(Field, i); - // TODO we should be able to use std.mem.copy here but it causes a - // test failure on aarch64 with -OReleaseFast - const src_slice = mem.sliceAsBytes(self_slice.items(field)); - const dst_slice = mem.sliceAsBytes(other_slice.items(field)); - @memcpy(dst_slice.ptr, src_slice.ptr, src_slice.len); + mem.copy(field_info.field_type, other_slice.items(field), self_slice.items(field)); } } gpa.free(self.allocatedBytes()); @@ -411,11 +403,7 @@ pub fn MultiArrayList(comptime S: type) type { inline for (fields) |field_info, i| { if (@sizeOf(field_info.field_type) != 0) { const field = @intToEnum(Field, i); - // TODO we should be able to use std.mem.copy here but it causes a - // test failure on aarch64 with -OReleaseFast - const src_slice = mem.sliceAsBytes(self_slice.items(field)); - const dst_slice = mem.sliceAsBytes(result_slice.items(field)); - @memcpy(dst_slice.ptr, src_slice.ptr, src_slice.len); + mem.copy(field_info.field_type, result_slice.items(field), self_slice.items(field)); } } return result;