@@ -315,7 +315,7 @@ impl<'a, K: Ord, V> VacantEntry<'a, K, V> {
315315 pub fn insert(self, value: V) -> &'a mut V {
316316 let out_ptr = match self.handle {
317317 None => {
318- // SAFETY: We have consumed self.handle and the reference returned .
318+ // SAFETY: There is no tree yet so no reference to it exists .
319319 let map = unsafe { self.dormant_map.awaken() };
320320 let mut root = NodeRef::new_leaf();
321321 let val_ptr = root.borrow_mut().push(self.key, value) as *mut V;
@@ -325,16 +325,17 @@ impl<'a, K: Ord, V> VacantEntry<'a, K, V> {
325325 }
326326 Some(handle) => match handle.insert_recursing(self.key, value) {
327327 (None, val_ptr) => {
328- // SAFETY: We have consumed self.handle and the handle returned .
328+ // SAFETY: We have consumed self.handle.
329329 let map = unsafe { self.dormant_map.awaken() };
330330 map.length += 1;
331331 val_ptr
332332 }
333333 (Some(ins), val_ptr) => {
334334 drop(ins.left);
335- // SAFETY: We have consumed self.handle and the reference returned.
335+ // SAFETY: We have consumed self.handle and dropped the
336+ // remaining reference to the tree, ins.left.
336337 let map = unsafe { self.dormant_map.awaken() };
337- let root = map.root.as_mut().unwrap();
338+ let root = map.root.as_mut().unwrap(); // same as ins.left
338339 root.push_internal_level().push(ins.kv.0, ins.kv.1, ins.right);
339340 map.length += 1;
340341 val_ptr
0 commit comments