about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-01-20 08:18:16 +0000
committerbors <bors@rust-lang.org>2016-01-20 08:18:16 +0000
commitc4c9628de7d4e970b2cb43d0f1a4c8f9ad03aca1 (patch)
tree486d19495e1f9e5ff55fd6b5099a86a5b56f1077
parent7561466948727be1ce20a7e349b53b6d0f86dbe9 (diff)
parent707afa2ed56fa9fb10a9c8b21970c17848a7a174 (diff)
downloadrust-c4c9628de7d4e970b2cb43d0f1a4c8f9ad03aca1.tar.gz
rust-c4c9628de7d4e970b2cb43d0f1a4c8f9ad03aca1.zip
Auto merge of #31038 - gereeter:btree-panic, r=Gankro
…ving elements into it.

Fixes #31029.
-rw-r--r--src/libcollections/btree/node.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcollections/btree/node.rs b/src/libcollections/btree/node.rs
index c8a0f60587e..f07962811fd 100644
--- a/src/libcollections/btree/node.rs
+++ b/src/libcollections/btree/node.rs
@@ -1027,6 +1027,8 @@ impl<'a, K, V> Handle<NodeRef<marker::Mut<'a>, K, V, marker::Internal>, marker::
             }
             self.node.as_leaf_mut().len -= 1;
 
+            left_node.as_leaf_mut().len += right_len as u16 + 1;
+
             if self.node.height > 1 {
                 ptr::copy_nonoverlapping(
                     right_node.cast_unchecked().as_internal().edges.as_ptr(),
@@ -1058,8 +1060,6 @@ impl<'a, K, V> Handle<NodeRef<marker::Mut<'a>, K, V, marker::Internal>, marker::
                 );
             }
 
-            left_node.as_leaf_mut().len += right_len as u16 + 1;
-
             Handle::new_edge(self.node, self.idx)
         }
     }