| ... | @@ -380,15 +380,15 @@ pub fn AlignedManaged(comptime T: type, comptime alignment: ?mem.Alignment) type | ... | @@ -380,15 +380,15 @@ pub fn AlignedManaged(comptime T: type, comptime alignment: ?mem.Alignment) type |
| 380 | /// Asserts that the new length is less than or equal to the previous length. | 380 | /// Asserts that the new length is less than or equal to the previous length. |
| 381 | pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void { | 381 | pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void { |
| 382 | assert(new_len <= self.items.len); | 382 | assert(new_len <= self.items.len); |
| 383 | self.items.len = new_len; | | |
| 384 | @memset(self.items[new_len..], undefined); | 383 | @memset(self.items[new_len..], undefined); |
| | 384 | self.items.len = new_len; |
| 385 | } | 385 | } |
| 386 | | 386 | |
| 387 | /// Reduce length to 0. | 387 | /// Reduce length to 0. |
| 388 | /// Invalidates all element pointers. | 388 | /// Invalidates all element pointers. |
| 389 | pub fn clearRetainingCapacity(self: *Self) void { | 389 | pub fn clearRetainingCapacity(self: *Self) void { |
| 390 | self.items.len = 0; | | |
| 391 | @memset(self.items, undefined); | 390 | @memset(self.items, undefined); |
| | 391 | self.items.len = 0; |
| 392 | } | 392 | } |
| 393 | | 393 | |
| 394 | /// Invalidates all element pointers. | 394 | /// Invalidates all element pointers. |
| ... | @@ -1141,11 +1141,14 @@ pub fn Aligned(comptime T: type, comptime alignment: ?mem.Alignment) type { | ... | @@ -1141,11 +1141,14 @@ pub fn Aligned(comptime T: type, comptime alignment: ?mem.Alignment) type { |
| 1141 | /// Asserts that the new length is less than or equal to the previous length. | 1141 | /// Asserts that the new length is less than or equal to the previous length. |
| 1142 | pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void { | 1142 | pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void { |
| 1143 | assert(new_len <= self.items.len); | 1143 | assert(new_len <= self.items.len); |
| | 1144 | @memset(self.items[new_len..], undefined); |
| 1144 | self.items.len = new_len; | 1145 | self.items.len = new_len; |
| 1145 | } | 1146 | } |
| 1146 | | 1147 | |
| | 1148 | /// Reduce length to 0. |
| 1147 | /// Invalidates all element pointers. | 1149 | /// Invalidates all element pointers. |
| 1148 | pub fn clearRetainingCapacity(self: *Self) void { | 1150 | pub fn clearRetainingCapacity(self: *Self) void { |
| | 1151 | @memset(self.items, undefined); |
| 1149 | self.items.len = 0; | 1152 | self.items.len = 0; |
| 1150 | } | 1153 | } |
| 1151 | | 1154 | |