Skip to content

Commit c88b038

Browse files
Revert "mem::swap, not mem::replace, in LRU backshifts"
This reverts commit b7fbd04.
1 parent b7fbd04 commit c88b038

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/symbolize/gimli/lru.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ impl<T, const N: usize> Lru<T, N> {
4646
let len_to_init = self.len + 1;
4747
let mut last = MaybeUninit::new(value);
4848
for elem in self.arr[0..len_to_init].iter_mut() {
49-
mem::swap(elem, &mut last);
49+
// OPT(size): using `mem::swap` allows surprising size regressions
50+
last = mem::replace(elem, last);
5051
}
5152
self.len = len_to_init;
5253

@@ -63,7 +64,8 @@ impl<T, const N: usize> Lru<T, N> {
6364
// so it is permissible to allow the len invariant to decay, as we always restore it
6465
let mut last = mem::replace(elem, MaybeUninit::uninit());
6566
for elem in self.arr[0..=idx].iter_mut() {
66-
mem::swap(elem, &mut last);
67+
// OPT(size): using `mem::swap` allows surprising size regressions
68+
last = mem::replace(elem, last);
6769
}
6870
self.arr
6971
.first_mut()

0 commit comments

Comments
 (0)