fn next(&mut self) -> Result<Option<(Scalar<'i>, Item<'i, '_>)>, Error> {
        self.peek()?;
        let k = match self.current_key.take() {
            Some(k) => k,
            None => return Ok(None),
        };

        self.prev_key = Some(k);
        Item::parse(&mut *self.buf).map(move |v| Some((k, v)))
    }
/// Drive forward the parse by peeling off the next pair in the map.
Drive forward the parse by peeling off the next pair in the map.
Drive forward the parse by peeling off the next pair in the map .
fn next(&mut self) -> Result<Option<(Scalar<'i>, Item<'i, '_>)>, Error> {
        self.peek()?;
        let k = match self.current_key.take() {
            Some(k) => k,
            None => return Ok(None),
        };
        self.prev_key = Some(k);
        Item::parse(&mut *self.buf).map(move |v| Some((k, v)))
    }
fn next ( & mut self ) -> Result < Option < ( Scalar < ' i > , Item < ' i , ' _ > ) > , Error > { self . peek ( ) ? ; let k = match self . current_key . take ( ) { Some ( k ) => k , None => return Ok ( None ) , } ; self . prev_key = Some ( k ) ; Item :: parse ( & mut * self . buf ) . map ( move | v | Some ( ( k , v ) ) ) }
Drive forward the parse by peeling off the next pair in the map.
Drive forward the parse by peeling off the next pair in the map .
&mut self
&mut self