aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/std/array_list.zig7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/std/array_list.zig b/lib/std/array_list.zig
index 6c728c3998..73abbd4553 100644
--- a/lib/std/array_list.zig
+++ b/lib/std/array_list.zig
@@ -380,15 +380,15 @@ pub fn AlignedManaged(comptime T: type, comptime alignment: ?mem.Alignment) type
/// Asserts that the new length is less than or equal to the previous length.
pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void {
assert(new_len <= self.items.len);
- self.items.len = new_len;
@memset(self.items[new_len..], undefined);
+ self.items.len = new_len;
}
/// Reduce length to 0.
/// Invalidates all element pointers.
pub fn clearRetainingCapacity(self: *Self) void {
- self.items.len = 0;
@memset(self.items, undefined);
+ self.items.len = 0;
}
/// Invalidates all element pointers.
@@ -1141,11 +1141,14 @@ pub fn Aligned(comptime T: type, comptime alignment: ?mem.Alignment) type {
/// Asserts that the new length is less than or equal to the previous length.
pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void {
assert(new_len <= self.items.len);
+ @memset(self.items[new_len..], undefined);
self.items.len = new_len;
}
+ /// Reduce length to 0.
/// Invalidates all element pointers.
pub fn clearRetainingCapacity(self: *Self) void {
+ @memset(self.items, undefined);
self.items.len = 0;
}