fn advance(&mut self) -> Option<char> {
        let current = std::mem::replace(&mut self.peeked, self.chars.next());
        self.token_end += current.map_or(ByteOffset::from(0), ByteOffset::from_char_len);
        current
    }
/// Consume the current character and load the next one. Return the old character.
Consume the current character and load the next one. Return the old character.
Consume the current character and load the next one . Return the old character .
fn advance(&mut self) -> Option<char> {
        let current = std::mem::replace(&mut self.peeked, self.chars.next());
        self.token_end += current.map_or(ByteOffset::from(0), ByteOffset::from_char_len);
        current
    }
fn advance ( & mut self ) -> Option < char > { let current = std :: mem :: replace ( & mut self . peeked , self . chars . next ( ) ) ; self . token_end += current . map_or ( ByteOffset :: from ( 0 ) , ByteOffset :: from_char_len ) ; current }
Consume the current character and load the next one.
Consume the current character and load the next one .
&mut self
&mut self