fn clear_old_rows(&mut self, info: &CONSOLE_SCREEN_BUFFER_INFO, layout: &Layout) -> Result<()> {
        let current_row = layout.cursor.row;
        let old_rows = layout.end.row;
        let mut coord = info.dwCursorPosition;
        coord.X = 0;
        coord.Y -= current_row as i16;
        let coord = self.set_console_cursor_position(coord, info.dwSize)?;
        self.clear(
            (info.dwSize.X * (old_rows as i16 + 1)) as DWORD,
            coord,
            info.wAttributes,
        )
    }
// position at the start of the prompt, clear to end of previous input
position at the start of the prompt, clear to end of previous input
position at the start of the prompt clear to end of previous input
fn clear_old_rows(&mut self, info: &CONSOLE_SCREEN_BUFFER_INFO, layout: &Layout) -> Result<()> {
        let current_row = layout.cursor.row;
        let old_rows = layout.end.row;
        let mut coord = info.dwCursorPosition;
        coord.X = 0;
        coord.Y -= current_row as i16;
        let coord = self.set_console_cursor_position(coord, info.dwSize)?;
        self.clear(
            (info.dwSize.X * (old_rows as i16 + 1)) as DWORD,
            coord,
            info.wAttributes,
        )
    }
fn clear_old_rows ( & mut self , info : & CONSOLE_SCREEN_BUFFER_INFO , layout : & Layout ) -> Result < ( ) > { let current_row = layout . cursor . row ; let old_rows = layout . end . row ; let mut coord = info . dwCursorPosition ; coord . X = 0 ; coord . Y -= current_row as i16 ; let coord = self . set_console_cursor_position ( coord , info . dwSize ) ? ; self . clear ( ( info . dwSize . X * ( old_rows as i16 + 1 ) ) as DWORD , coord , info . wAttributes , ) }
position at the start of the prompt, clear to end of previous input
position at the start of the prompt clear to end of previous input
&mut self
info
&CONSOLE_SCREEN_BUFFER_INFO
layout
&Layout
&mut self
info
&CONSOLE_SCREEN_BUFFER_INFO
layout
&Layout