pub fn print_row<W:Write>(&self, w:&mut W) -> std::fmt::Result {
        // check if borrows exists
        // add {:?} to the write holder
        write!(w, "{:?}", self.data.borrow())?;
        if let Some(ref r) = self.right {
            // if right existsm then add *,* separator to writer
            write!(w, ",")?;
            // then recursive print row
            r.borrow().print_row(w)?;
        }
        // if all is ok, then return with Result::Ok
        Ok(())
    }
// impl of Write W, with a pointer that holds writes data
// return a Result object *Ok()
impl of Write W, with a pointer that holds writes data
return a Result object *Ok()
impl of Write W with a pointer that holds writes data return a Result object * Ok ()
pub fn print_row<W:Write>(&self, w:&mut W) -> std::fmt::Result {
        // check if borrows exists
        // add {:?} to the write holder
        write!(w, "{:?}", self.data.borrow())?;
        if let Some(ref r) = self.right {
            // if right existsm then add *,* separator to writer
            write!(w, ",")?;
            // then recursive print row
            r.borrow().print_row(w)?;
        }
        // if all is ok, then return with Result::Ok
        Ok(())
    }
pub fn print_row < W : Write > ( & self , w : & mut W ) -> std :: fmt :: Result { // check if borrows exists // add {:?} to the write holder write ! ( w " " self data borrow ( ) ) ? ; if let Some ( ref r ) = self . right { // if right existsm then add *,* separator to writer write ! ( w " " ) ? ; // then recursive print row r . borrow ( ) . print_row ( w ) ? ; } // if all is ok, then return with Result::Ok Ok ( ( ) ) }
impl of Write W, with a pointer that holds writes data
return a Result object *Ok()
impl of Write W with a pointer that holds writes data return a Result object * Ok ()
&self
w
&mut W
&self
w
&mut W