fn next(&mut self) -> Option<(TokenKind, &'a str, u32)> {
        if let Some((kind, text)) = self.tokens.next() {
            let before = self.byte_pos;
            self.byte_pos += text.len() as u32;
            Some((kind, text, before))
        } else {
            None
        }
    }
/// Wraps the tokens iteration to ensure that the `byte_pos` is always correct.
///
/// It returns the token's kind, the token as a string and its byte position in the source
/// string.
Wraps the tokens iteration to ensure that the `byte_pos` is always correct.
It returns the token's kind, the token as a string and its byte position in the source
string.
Wraps the tokens iteration to ensure that the ` byte_pos ` is always correct . It returns the token ' s kind the token as a string and its byte position in the source string .
fn next(&mut self) -> Option<(TokenKind, &'a str, u32)> {
        if let Some((kind, text)) = self.tokens.next() {
            let before = self.byte_pos;
            self.byte_pos += text.len() as u32;
            Some((kind, text, before))
        } else {
            None
        }
    }
fn next ( & mut self ) -> Option < ( TokenKind , & ' a str , u32 ) > { if let Some ( ( kind , text ) ) = self . tokens . next ( ) { let before = self . byte_pos ; self . byte_pos += text . len ( ) as u32 ; Some ( ( kind , text , before ) ) } else { None } }
Wraps the tokens iteration to ensure that the `byte_pos` is always correct.
Wraps the tokens iteration to ensure that the ` byte_pos ` is always correct .
&mut self
&mut self