Rollup merge of #76926 - ssomers:btree_cleanup_1, r=Mark-Simulacrum
BTreeMap: code readability tweaks Gathered over the past months r? @Mark-Simulacrum
This commit is contained in:
commit
0a4eb2c31d
|
@ -1715,7 +1715,7 @@ impl<'a, K: 'a, V: 'a> DrainFilterInner<'a, K, V> {
|
||||||
/// Allow Debug implementations to predict the next element.
|
/// Allow Debug implementations to predict the next element.
|
||||||
pub(super) fn peek(&self) -> Option<(&K, &V)> {
|
pub(super) fn peek(&self) -> Option<(&K, &V)> {
|
||||||
let edge = self.cur_leaf_edge.as_ref()?;
|
let edge = self.cur_leaf_edge.as_ref()?;
|
||||||
edge.reborrow().next_kv().ok().map(|kv| kv.into_kv())
|
edge.reborrow().next_kv().ok().map(Handle::into_kv)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Implementation of a typical `DrainFilter::next` method, given the predicate.
|
/// Implementation of a typical `DrainFilter::next` method, given the predicate.
|
||||||
|
|
|
@ -218,7 +218,7 @@ impl<BorrowType, K, V> Handle<NodeRef<BorrowType, K, V, marker::Leaf>, marker::E
|
||||||
let mut edge = self.forget_node_type();
|
let mut edge = self.forget_node_type();
|
||||||
loop {
|
loop {
|
||||||
edge = match edge.right_kv() {
|
edge = match edge.right_kv() {
|
||||||
Ok(internal_kv) => return Ok(internal_kv),
|
Ok(kv) => return Ok(kv),
|
||||||
Err(last_edge) => match last_edge.into_node().ascend() {
|
Err(last_edge) => match last_edge.into_node().ascend() {
|
||||||
Ok(parent_edge) => parent_edge.forget_node_type(),
|
Ok(parent_edge) => parent_edge.forget_node_type(),
|
||||||
Err(root) => return Err(root),
|
Err(root) => return Err(root),
|
||||||
|
@ -239,7 +239,7 @@ impl<BorrowType, K, V> Handle<NodeRef<BorrowType, K, V, marker::Leaf>, marker::E
|
||||||
let mut edge = self.forget_node_type();
|
let mut edge = self.forget_node_type();
|
||||||
loop {
|
loop {
|
||||||
edge = match edge.left_kv() {
|
edge = match edge.left_kv() {
|
||||||
Ok(internal_kv) => return Ok(internal_kv),
|
Ok(kv) => return Ok(kv),
|
||||||
Err(last_edge) => match last_edge.into_node().ascend() {
|
Err(last_edge) => match last_edge.into_node().ascend() {
|
||||||
Ok(parent_edge) => parent_edge.forget_node_type(),
|
Ok(parent_edge) => parent_edge.forget_node_type(),
|
||||||
Err(root) => return Err(root),
|
Err(root) => return Err(root),
|
||||||
|
|
|
@ -929,14 +929,14 @@ impl<'a, K: 'a, V: 'a> Handle<NodeRef<marker::Mut<'a>, K, V, marker::Leaf>, mark
|
||||||
/// The returned pointer points to the inserted value.
|
/// The returned pointer points to the inserted value.
|
||||||
fn insert(mut self, key: K, val: V) -> (InsertResult<'a, K, V, marker::Leaf>, *mut V) {
|
fn insert(mut self, key: K, val: V) -> (InsertResult<'a, K, V, marker::Leaf>, *mut V) {
|
||||||
if self.node.len() < CAPACITY {
|
if self.node.len() < CAPACITY {
|
||||||
let ptr = self.insert_fit(key, val);
|
let val_ptr = self.insert_fit(key, val);
|
||||||
let kv = unsafe { Handle::new_kv(self.node, self.idx) };
|
let kv = unsafe { Handle::new_kv(self.node, self.idx) };
|
||||||
(InsertResult::Fit(kv), ptr)
|
(InsertResult::Fit(kv), val_ptr)
|
||||||
} else {
|
} else {
|
||||||
let (middle_kv_idx, insertion) = splitpoint(self.idx);
|
let (middle_kv_idx, insertion) = splitpoint(self.idx);
|
||||||
let middle = unsafe { Handle::new_kv(self.node, middle_kv_idx) };
|
let middle = unsafe { Handle::new_kv(self.node, middle_kv_idx) };
|
||||||
let (mut left, k, v, mut right) = middle.split();
|
let (mut left, k, v, mut right) = middle.split();
|
||||||
let ptr = match insertion {
|
let val_ptr = match insertion {
|
||||||
InsertionPlace::Left(insert_idx) => unsafe {
|
InsertionPlace::Left(insert_idx) => unsafe {
|
||||||
Handle::new_edge(left.reborrow_mut(), insert_idx).insert_fit(key, val)
|
Handle::new_edge(left.reborrow_mut(), insert_idx).insert_fit(key, val)
|
||||||
},
|
},
|
||||||
|
@ -948,7 +948,7 @@ impl<'a, K: 'a, V: 'a> Handle<NodeRef<marker::Mut<'a>, K, V, marker::Leaf>, mark
|
||||||
.insert_fit(key, val)
|
.insert_fit(key, val)
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
(InsertResult::Split(SplitResult { left: left.forget_type(), k, v, right }), ptr)
|
(InsertResult::Split(SplitResult { left: left.forget_type(), k, v, right }), val_ptr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue