fn raw_double_quoted_string(&mut self) -> (usize, bool, bool) {
        debug_assert!(self.prev() == 'r');
        // Count opening '#' symbols.
        let n_hashes = {
            let mut acc: usize = 0;
            loop {
                match self.bump() {
                    Some('#') => acc += 1,
                    Some('"') => break acc,
                    None | Some(_) => return (acc, false, false),
                }
            }
        };

        // Skip the string itself and check that amount of closing '#'
        // symbols is equal to the amount of opening ones.
        loop {
            match self.bump() {
                Some('"') => {
                    let mut acc = n_hashes;
                    while self.nth_char(0) == '#' && acc > 0 {
                        self.bump();
                        acc -= 1;
                    }
                    if acc == 0 {
                        return (n_hashes, true, true);
                    }
                }
                Some(_) => (),
                None => return (n_hashes, true, false),
            }
        }
    }
/// Eats the double-quoted string and returns a tuple of
/// (amount of the '#' symbols, raw string started, raw string terminated)
Eats the double-quoted string and returns a tuple of
(amount of the '#' symbols, raw string started, raw string terminated)
Eats the double - quoted string and returns a tuple of ( amount of the ' # ' symbols raw string started raw string terminated )
fn raw_double_quoted_string(&mut self) -> (usize, bool, bool) {
        debug_assert!(self.prev() == 'r');
        // Count opening '#' symbols.
        let n_hashes = {
            let mut acc: usize = 0;
            loop {
                match self.bump() {
                    Some('#') => acc += 1,
                    Some('"') => break acc,
                    None | Some(_) => return (acc, false, false),
                }
            }
        };
        // Skip the string itself and check that amount of closing '#'
        // symbols is equal to the amount of opening ones.
        loop {
            match self.bump() {
                Some('"') => {
                    let mut acc = n_hashes;
                    while self.nth_char(0) == '#' && acc > 0 {
                        self.bump();
                        acc -= 1;
                    }
                    if acc == 0 {
                        return (n_hashes, true, true);
                    }
                }
                Some(_) => (),
                None => return (n_hashes, true, false),
            }
        }
    }
fn raw_double_quoted_string ( & mut self ) -> ( usize , bool , bool ) { debug_assert ! ( self prev ( ) 'r' ) ; // Count opening '#' symbols. let n_hashes = { let mut acc : usize = 0 ; loop { match self . bump ( ) { Some ( '#' ) => acc += 1 , Some ( '"' ) => break acc , None | Some ( _ ) => return ( acc , false , false ) , } } } ; // Skip the string itself and check that amount of closing '#' // symbols is equal to the amount of opening ones. loop { match self . bump ( ) { Some ( '"' ) => { let mut acc = n_hashes ; while self . nth_char ( 0 ) == '#' && acc > 0 { self . bump ( ) ; acc -= 1 ; } if acc == 0 { return ( n_hashes , true , true ) ; } } Some ( _ ) => ( ) , None => return ( n_hashes , true , false ) , } } }
Eats the double-quoted string and returns a tuple of
(amount of the '#' symbols, raw string started, raw string terminated)
Eats the double - quoted string and returns a tuple of ( amount of the ' # ' symbols raw string started raw string terminated )
&mut self
&mut self