pub(crate) fn next(&mut self) -> Option<char> {
        let ch = self.chars.next()?;

        #[cfg(debug_assertions)]
        {
            self.prev_char = ch;
        }

        Some(ch)
    }
/// Advances the iterator and returns the character obtained, if any.
Advances the iterator and returns the character obtained, if any.
Advances the iterator and returns the character obtained if any .
pub(crate) fn next(&mut self) -> Option<char> {
        let ch = self.chars.next()?;
        #[cfg(debug_assertions)]
        {
            self.prev_char = ch;
        }
        Some(ch)
    }
pub ( crate ) fn next ( & mut self ) -> Option < char > { let ch = self . chars . next ( ) ? ; # [ cfg ( debug_assertions ) ] { self . prev_char = ch ; } Some ( ch ) }
Advances the iterator and returns the character obtained, if any.
Advances the iterator and returns the character obtained if any .
&mut self
&mut self