fn parse(p: &mut Parser<'_>) -> Result<Self, ParseError> {
        if p.is_eof()? {
            return Err(ParseError::msg(p.last_span(), "expected format specifier"));
        }

        let format = p.parse::<ast::Expr>()?;

        let mut args = Vec::new();

        while p.parse::<Option<T![,]>>()?.is_some() {
            if p.is_eof()? {
                break;
            }

            args.push(p.parse()?);
        }

        Ok(Self { format, args })
    }
/// Parse format arguments inside of a macro.
Parse format arguments inside of a macro.
Parse format arguments inside of a macro .
fn parse(p: &mut Parser<'_>) -> Result<Self, ParseError> {
        if p.is_eof()? {
            return Err(ParseError::msg(p.last_span(), "expected format specifier"));
        }
        let format = p.parse::<ast::Expr>()?;
        let mut args = Vec::new();
        while p.parse::<Option<T![,]>>()?.is_some() {
            if p.is_eof()? {
                break;
            }
            args.push(p.parse()?);
        }
        Ok(Self { format, args })
    }
fn parse ( p : & mut Parser < ' _ > ) -> Result < Self , ParseError > { if p . is_eof ( ) ? { return Err ( ParseError :: msg ( p . last_span ( ) , " " ) ) ; } let format = p . parse :: < ast :: Expr > ( ) ? ; let mut args = Vec :: new ( ) ; while p . parse :: < Option < T ! [ ] > > ( ) ? . is_some ( ) { if p . is_eof ( ) ? { break ; } args . push ( p . parse ( ) ? ) ; } Ok ( Self { format , args } ) }
Parse format arguments inside of a macro.
Parse format arguments inside of a macro .
p
&mut Parser<'_>
p
&mut Parser<'_>