fn consume_char(&mut self) -> char {
        let mut iter = self.input[self.pos..].char_indices();
        let (_, cur_char) = iter.next().unwrap();
        let (next_pos, _) = iter.next().unwrap_or((1, ' '));
        self.pos += next_pos;
        return cur_char;
    }
// Return the current character, and advance self.pos to the next character.
Return the current character, and advance self.pos to the next character.
Return the current character and advance self . pos to the next character .
fn consume_char(&mut self) -> char {
        let mut iter = self.input[self.pos..].char_indices();
        let (_, cur_char) = iter.next().unwrap();
        let (next_pos, _) = iter.next().unwrap_or((1, ' '));
        self.pos += next_pos;
        return cur_char;
    }
fn consume_char ( & mut self ) -> char { let mut iter = self . input [ self . pos .. ] . char_indices ( ) ; let ( _ , cur_char ) = iter . next ( ) . unwrap ( ) ; let ( next_pos , _ ) = iter . next ( ) . unwrap_or ( ( 1 , ' ' ) ) ; self . pos += next_pos ; return cur_char ; }
Return the current character, and advance self.pos to the next character.
Return the current character and advance self . pos to the next character .
&mut self
&mut self