Skip to content

Commit 707afa2

Browse files
committed
In BTreeMap's merge function, adjust the length of the node before moving elements into it.
1 parent bff5292 commit 707afa2

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/libcollections/btree/node.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1022,6 +1022,8 @@ impl<'a, K, V> Handle<NodeRef<marker::Mut<'a>, K, V, marker::Internal>, marker::
10221022
}
10231023
self.node.as_leaf_mut().len -= 1;
10241024

1025+
left_node.as_leaf_mut().len += right_len as u16 + 1;
1026+
10251027
if self.node.height > 1 {
10261028
ptr::copy_nonoverlapping(
10271029
right_node.cast_unchecked().as_internal().edges.as_ptr(),
@@ -1053,8 +1055,6 @@ impl<'a, K, V> Handle<NodeRef<marker::Mut<'a>, K, V, marker::Internal>, marker::
10531055
);
10541056
}
10551057

1056-
left_node.as_leaf_mut().len += right_len as u16 + 1;
1057-
10581058
Handle::new_edge(self.node, self.idx)
10591059
}
10601060
}

0 commit comments

Comments
 (0)