pub(crate) fn parse_with_meta_path(
        p: &mut Parser<'_>,
        attributes: &mut Vec<ast::Attribute>,
        path: ast::Path,
        eager_brace: EagerBrace,
    ) -> Result<Self, ParseError> {
        if *eager_brace && p.peek::<T!['{']>()? {
            let ident = ast::ObjectIdent::Named(path);

            return Ok(Self::Object(Box::new(ast::ExprObject::parse_with_meta(
                p,
                take(attributes),
                ident,
            )?)));
        }

        if p.peek::<T![!]>()? {
            return Ok(Self::MacroCall(Box::new(
                ast::MacroCall::parse_with_meta_path(p, std::mem::take(attributes), path)?,
            )));
        }

        Ok(Self::Path(Box::new(path)))
    }
/// Parse expressions that start with an identifier.
Parse expressions that start with an identifier.
Parse expressions that start with an identifier .
pub(crate) fn parse_with_meta_path(
        p: &mut Parser<'_>,
        attributes: &mut Vec<ast::Attribute>,
        path: ast::Path,
        eager_brace: EagerBrace,
    ) -> Result<Self, ParseError> {
        if *eager_brace && p.peek::<T!['{']>()? {
            let ident = ast::ObjectIdent::Named(path);
            return Ok(Self::Object(Box::new(ast::ExprObject::parse_with_meta(
                p,
                take(attributes),
                ident,
            )?)));
        }
        if p.peek::<T![!]>()? {
            return Ok(Self::MacroCall(Box::new(
                ast::MacroCall::parse_with_meta_path(p, std::mem::take(attributes), path)?,
            )));
        }
        Ok(Self::Path(Box::new(path)))
    }
pub ( crate ) fn parse_with_meta_path ( p : & mut Parser < ' _ > , attributes : & mut Vec < ast :: Attribute > , path : ast :: Path , eager_brace : EagerBrace , ) -> Result < Self , ParseError > { if * eager_brace && p . peek :: < T ! [ '{' ] > ( ) ? { let ident = ast :: ObjectIdent :: Named ( path ) ; return Ok ( Self :: Object ( Box :: new ( ast :: ExprObject :: parse_with_meta ( p , take ( attributes ) , ident , ) ? ) ) ) ; } if p . peek :: < T ! [ ] > ( ) ? { return Ok ( Self :: MacroCall ( Box :: new ( ast :: MacroCall :: parse_with_meta_path ( p , std :: mem :: take ( attributes ) , path ) ? , ) ) ) ; } Ok ( Self :: Path ( Box :: new ( path ) ) ) }
Parse expressions that start with an identifier.
Parse expressions that start with an identifier .
p
&mut Parser<'_>
attributes
&mut Vec<ast::Attribute>
path
ast::Path
eager_brace
EagerBrace
p
&mut Parser<'_>
attributes
&mut Vec<ast::Attribute>
path
ast::Path
eager_brace
EagerBrace