pub fn update(self: *Self, elem: T, new_elem: T) !void self: *Selfelem: Tnew_elem: T379
380
381
382
383
384
385
386
387
388
389
390 pub fn update(self: *Self, elem: T, new_elem: T) !void {
const old_index = blk: {
var idx: usize = 0;
while (idx < self.len) : (idx += 1) {
const item = self.items[idx];
if (compareFn(self.context, item, elem) == .eq) break :blk idx;
}
return error.ElementNotFound;
};
_ = self.popIndex(old_index);
self.pushUnchecked(new_elem);
}