@@ -552,7 +552,7 @@ fn mutate_values<'r, K: TotalOrd, V>(node: &'r mut Option<~TreeNode<K, V>>,
552552// Remove left horizontal link by rotating right
553553fn skew < K : TotalOrd , V > ( node : & mut ~TreeNode < K , V > ) {
554554 if node. left . map_default ( false , |x| x. level == node. level ) {
555- let mut save = node. left . swap_unwrap ( ) ;
555+ let mut save = node. left . take_unwrap ( ) ;
556556 swap ( & mut node. left , & mut save. right ) ; // save.right now None
557557 swap ( node, & mut save) ;
558558 node. right = Some ( save) ;
@@ -564,7 +564,7 @@ fn skew<K: TotalOrd, V>(node: &mut ~TreeNode<K, V>) {
564564fn split < K : TotalOrd , V > ( node : & mut ~TreeNode < K , V > ) {
565565 if node. right . map_default ( false ,
566566 |x| x. right . map_default ( false , |y| y. level == node. level ) ) {
567- let mut save = node. right . swap_unwrap ( ) ;
567+ let mut save = node. right . take_unwrap ( ) ;
568568 swap ( & mut node. right , & mut save. left ) ; // save.left now None
569569 save. level += 1 ;
570570 swap ( node, & mut save) ;
@@ -643,7 +643,7 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>,
643643 Equal => {
644644 if save. left. is_some( ) {
645645 if save. right. is_some( ) {
646- let mut left = save. left. swap_unwrap ( ) ;
646+ let mut left = save. left. take_unwrap ( ) ;
647647 if left. right. is_some( ) {
648648 heir_swap( save, & mut left. right) ;
649649 } else {
@@ -653,13 +653,13 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>,
653653 save. left = Some ( left) ;
654654 ( remove( & mut save. left, key) , true )
655655 } else {
656- let new = save. left. swap_unwrap ( ) ;
656+ let new = save. left. take_unwrap ( ) ;
657657 let ~TreeNode { value, _} = replace( save, new) ;
658- * save = save. left. swap_unwrap ( ) ;
658+ * save = save. left. take_unwrap ( ) ;
659659 ( Some ( value) , true )
660660 }
661661 } else if save. right. is_some( ) {
662- let new = save. right. swap_unwrap ( ) ;
662+ let new = save. right. take_unwrap ( ) ;
663663 let ~TreeNode { value, _} = replace( save, new) ;
664664 ( Some ( value) , true )
665665 } else {
0 commit comments