fn parse_next_component(&self) -> (usize, Option<Component<'a>>) {
        debug_assert!(self.front == State::Body);
        let (extra, comp) = match self.path.iter().position(|b| self.is_sep_byte(*b)) {
            None => (0, self.path),
            Some(i) => (1, &self.path[..i]),
        };
        (comp.len() + extra, self.parse_single_component(comp))
    }
// parse a component from the left, saying how many bytes to consume to
// remove the component
parse a component from the left, saying how many bytes to consume to
remove the component
parse a component from the left saying how many bytes to consume to remove the component
fn parse_next_component(&self) -> (usize, Option<Component<'a>>) {
        debug_assert!(self.front == State::Body);
        let (extra, comp) = match self.path.iter().position(|b| self.is_sep_byte(*b)) {
            None => (0, self.path),
            Some(i) => (1, &self.path[..i]),
        };
        (comp.len() + extra, self.parse_single_component(comp))
    }
fn parse_next_component ( & self ) -> ( usize , Option < Component < ' a > > ) { debug_assert ! ( self front State Body ) ; let ( extra , comp ) = match self . path . iter ( ) . position ( | b | self . is_sep_byte ( * b ) ) { None => ( 0 , self . path ) , Some ( i ) => ( 1 , & self . path [ .. i ] ) , } ; ( comp . len ( ) + extra , self . parse_single_component ( comp ) ) }
parse a component from the left, saying how many bytes to consume to
remove the component
parse a component from the left saying how many bytes to consume to remove the component
&self
&self