pub fn zip_fix_left(&mut self) -> bool {
        if let Node::Internal(ref mut children) = *self {
            let mut did_stuff = false;
            loop {
                let do_merge = (children.len() > 1)
                    && match *children.nodes()[0] {
                        Node::Leaf(ref text) => text.len() < MIN_BYTES,
                        Node::Internal(ref children2) => children2.len() < MIN_CHILDREN,
                    };

                if do_merge {
                    did_stuff |= children.merge_distribute(0, 1);
                }

                if !Arc::make_mut(&mut children.nodes_mut()[0]).zip_fix_left() {
                    break;
                }
            }
            did_stuff
        } else {
            false
        }
    }
/// Fixes dangling nodes down the left side of the tree.
///
/// Returns whether it did anything or not that would affect the
/// parent.
Fixes dangling nodes down the left side of the tree.
Returns whether it did anything or not that would affect the
parent.
Fixes dangling nodes down the left side of the tree . Returns whether it did anything or not that would affect the parent .
pub fn zip_fix_left(&mut self) -> bool {
        if let Node::Internal(ref mut children) = *self {
            let mut did_stuff = false;
            loop {
                let do_merge = (children.len() > 1)
                    && match *children.nodes()[0] {
                        Node::Leaf(ref text) => text.len() < MIN_BYTES,
                        Node::Internal(ref children2) => children2.len() < MIN_CHILDREN,
                    };
                if do_merge {
                    did_stuff |= children.merge_distribute(0, 1);
                }
                if !Arc::make_mut(&mut children.nodes_mut()[0]).zip_fix_left() {
                    break;
                }
            }
            did_stuff
        } else {
            false
        }
    }
pub fn zip_fix_left ( & mut self ) -> bool { if let Node :: Internal ( ref mut children ) = * self { let mut did_stuff = false ; loop { let do_merge = ( children . len ( ) > 1 ) && match * children . nodes ( ) [ 0 ] { Node :: Leaf ( ref text ) => text . len ( ) < MIN_BYTES , Node :: Internal ( ref children2 ) => children2 . len ( ) < MIN_CHILDREN , } ; if do_merge { did_stuff |= children . merge_distribute ( 0 , 1 ) ; } if ! Arc :: make_mut ( & mut children . nodes_mut ( ) [ 0 ] ) . zip_fix_left ( ) { break ; } } did_stuff } else { false } }
Fixes dangling nodes down the left side of the tree.
Fixes dangling nodes down the left side of the tree .
&mut self