fn parse_tag(&mut self) -> Result<Option<Value>, SyntaxError> {
        let mut s = String::new();
        while let Some(c) = self.next_char()? {
            match c {
                '[' => return Err(SyntaxError::UnsupportedTagValue(s)),
                ']' => return parse_tag(&s),
                _ => s.push(c),
            }
        }
        Err(SyntaxError::UnsupportedTag(s))
    }
/// Parse a tag starting at the current position.
Parse a tag starting at the current position.
Parse a tag starting at the current position .
fn parse_tag(&mut self) -> Result<Option<Value>, SyntaxError> {
        let mut s = String::new();
        while let Some(c) = self.next_char()? {
            match c {
                '[' => return Err(SyntaxError::UnsupportedTagValue(s)),
                ']' => return parse_tag(&s),
                _ => s.push(c),
            }
        }
        Err(SyntaxError::UnsupportedTag(s))
    }
fn parse_tag ( & mut self ) -> Result < Option < Value > , SyntaxError > { let mut s = String :: new ( ) ; while let Some ( c ) = self . next_char ( ) ? { match c { '[' => return Err ( SyntaxError :: UnsupportedTagValue ( s ) ) , ']' => return parse_tag ( & s ) , _ => s . push ( c ) , } } Err ( SyntaxError :: UnsupportedTag ( s ) ) }
Parse a tag starting at the current position.
Parse a tag starting at the current position .
&mut self