pub fn parse_attr_item(&mut self) -> PResult<'a, ast::AttrItem> {
        let item = match self.token.kind {
            token::Interpolated(ref nt) => match **nt {
                Nonterminal::NtMeta(ref item) => Some(item.clone()),
                _ => None,
            },
            _ => None,
        };
        Ok(if let Some(item) = item {
            self.bump();
            item
        } else {
            let path = self.parse_path(PathStyle::Mod)?;
            let args = self.parse_attr_args()?;
            ast::AttrItem { path, args }
        })
    }
/// Parses an inner part of an attribute (the path and following tokens).
/// The tokens must be either a delimited token stream, or empty token stream,
/// or the "legacy" key-value form.
///     PATH `(` TOKEN_STREAM `)`
///     PATH `[` TOKEN_STREAM `]`
///     PATH `{` TOKEN_STREAM `}`
///     PATH
///     PATH `=` UNSUFFIXED_LIT
/// The delimiters or `=` are still put into the resulting token stream.
Parses an inner part of an attribute (the path and following tokens).
The tokens must be either a delimited token stream, or empty token stream,
or the "legacy" key-value form.
Parses an inner part of an attribute ( the path and following tokens ) . The tokens must be either a delimited token stream or empty token stream or the " legacy " key - value form .
pub fn parse_attr_item(&mut self) -> PResult<'a, ast::AttrItem> {
        let item = match self.token.kind {
            token::Interpolated(ref nt) => match **nt {
                Nonterminal::NtMeta(ref item) => Some(item.clone()),
                _ => None,
            },
            _ => None,
        };
        Ok(if let Some(item) = item {
            self.bump();
            item
        } else {
            let path = self.parse_path(PathStyle::Mod)?;
            let args = self.parse_attr_args()?;
            ast::AttrItem { path, args }
        })
    }
pub fn parse_attr_item ( & mut self ) -> PResult < ' a , ast :: AttrItem > { let item = match self . token . kind { token :: Interpolated ( ref nt ) => match * * nt { Nonterminal :: NtMeta ( ref item ) => Some ( item . clone ( ) ) , _ => None , } , _ => None , } ; Ok ( if let Some ( item ) = item { self . bump ( ) ; item } else { let path = self . parse_path ( PathStyle :: Mod ) ? ; let args = self . parse_attr_args ( ) ? ; ast :: AttrItem { path , args } } ) }
Parses an inner part of an attribute (the path and following tokens).
Parses an inner part of an attribute ( the path and following tokens ) .
&mut self