We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent a927814 commit 15a8f6fCopy full SHA for 15a8f6f
vm/src/dictdatatype.rs
@@ -645,14 +645,15 @@ impl<T: Clone> Dict<T> {
645
646
pub fn pop_back(&self) -> Option<(PyObjectRef, T)> {
647
let mut inner = &mut *self.write();
648
- let (entry_idx, entry) = inner.entries[..inner.next_new_entry_idx]
649
- .iter_mut()
650
- .enumerate()
651
- .rev()
652
- .find_map(|(i, entry)| entry.take().map(|e| (i, e)))?;
+ let entry = loop {
+ let entry = inner.entries.pop()?;
+ if let Some(entry) = entry {
+ break entry;
+ }
653
+ };
654
inner.used -= 1;
655
inner.indices[entry.index] = IndexEntry::DUMMY;
- inner.next_new_entry_idx = entry_idx;
656
+ inner.next_new_entry_idx = inner.entries.len();
657
Some((entry.key, entry.value))
658
}
659
0 commit comments