mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
std.ArrayList: actaully memset to undefined in shrinkRetainingCapacity and clearRetainingCapacity
See #25810
This commit is contained in:
parent
e639602569
commit
b2895f356f
1 changed files with 5 additions and 2 deletions
|
|
@ -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.
|
/// Asserts that the new length is less than or equal to the previous length.
|
||||||
pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void {
|
pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void {
|
||||||
assert(new_len <= self.items.len);
|
assert(new_len <= self.items.len);
|
||||||
self.items.len = new_len;
|
|
||||||
@memset(self.items[new_len..], undefined);
|
@memset(self.items[new_len..], undefined);
|
||||||
|
self.items.len = new_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Reduce length to 0.
|
/// Reduce length to 0.
|
||||||
/// Invalidates all element pointers.
|
/// Invalidates all element pointers.
|
||||||
pub fn clearRetainingCapacity(self: *Self) void {
|
pub fn clearRetainingCapacity(self: *Self) void {
|
||||||
self.items.len = 0;
|
|
||||||
@memset(self.items, undefined);
|
@memset(self.items, undefined);
|
||||||
|
self.items.len = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Invalidates all element pointers.
|
/// 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.
|
/// Asserts that the new length is less than or equal to the previous length.
|
||||||
pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void {
|
pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void {
|
||||||
assert(new_len <= self.items.len);
|
assert(new_len <= self.items.len);
|
||||||
|
@memset(self.items[new_len..], undefined);
|
||||||
self.items.len = new_len;
|
self.items.len = new_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Reduce length to 0.
|
||||||
/// Invalidates all element pointers.
|
/// Invalidates all element pointers.
|
||||||
pub fn clearRetainingCapacity(self: *Self) void {
|
pub fn clearRetainingCapacity(self: *Self) void {
|
||||||
|
@memset(self.items, undefined);
|
||||||
self.items.len = 0;
|
self.items.len = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue