Fix comments outdated during #66648
This commit is contained in:
parent
116dff95a3
commit
914b855f40
1 changed files with 4 additions and 5 deletions
|
@ -227,7 +227,7 @@ impl<K: Clone, V: Clone> BTreeClone for BTreeMap<K, V> {
|
||||||
impl<K: Clone + Ord, V: Clone> BTreeClone for BTreeMap<K, V> {
|
impl<K: Clone + Ord, V: Clone> BTreeClone for BTreeMap<K, V> {
|
||||||
fn clone_from(&mut self, other: &Self) {
|
fn clone_from(&mut self, other: &Self) {
|
||||||
// This truncates `self` to `other.len()` by calling `split_off` on
|
// This truncates `self` to `other.len()` by calling `split_off` on
|
||||||
// the first key after `other.len()` elements if it exists
|
// the first key after `other.len()` elements if it exists.
|
||||||
let split_off_key = if self.len() > other.len() {
|
let split_off_key = if self.len() > other.len() {
|
||||||
let diff = self.len() - other.len();
|
let diff = self.len() - other.len();
|
||||||
if diff <= other.len() {
|
if diff <= other.len() {
|
||||||
|
@ -247,11 +247,10 @@ impl<K: Clone + Ord, V: Clone> BTreeClone for BTreeMap<K, V> {
|
||||||
// After truncation, `self` is at most as long as `other` so this loop
|
// After truncation, `self` is at most as long as `other` so this loop
|
||||||
// replaces every key-value pair in `self`. Since `oiter` is in sorted
|
// replaces every key-value pair in `self`. Since `oiter` is in sorted
|
||||||
// order and the structure of the `BTreeMap` stays the same,
|
// order and the structure of the `BTreeMap` stays the same,
|
||||||
// the BTree invariants are maintained at the end of the loop
|
// the BTree invariants are maintained at the end of the loop.
|
||||||
while !siter.is_empty() {
|
while !siter.is_empty() {
|
||||||
if let Some((ok, ov)) = oiter.next() {
|
if let Some((ok, ov)) = oiter.next() {
|
||||||
// SAFETY: This is safe because the `siter.front != siter.back` check
|
// SAFETY: This is safe because `siter` is nonempty.
|
||||||
// ensures that `siter` is nonempty
|
|
||||||
let (sk, sv) = unsafe { siter.next_unchecked() };
|
let (sk, sv) = unsafe { siter.next_unchecked() };
|
||||||
sk.clone_from(ok);
|
sk.clone_from(ok);
|
||||||
sv.clone_from(ov);
|
sv.clone_from(ov);
|
||||||
|
@ -259,7 +258,7 @@ impl<K: Clone + Ord, V: Clone> BTreeClone for BTreeMap<K, V> {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If `other` is longer than `self`, the remaining elements are inserted
|
// If `other` is longer than `self`, the remaining elements are inserted.
|
||||||
self.extend(oiter.map(|(k, v)| ((*k).clone(), (*v).clone())));
|
self.extend(oiter.map(|(k, v)| ((*k).clone(), (*v).clone())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue