pub enum Meta {
    Path(Path),
    List(MetaList),
    NameValue(MetaNameValue),
}Expand description
Content of a compile-time structured attribute.
Path
A meta path is like the test in #[test].
List
A meta list is like the derive(Copy) in #[derive(Copy)].
NameValue
A name-value meta is like the path = "..." in #[path = "sys/windows.rs"].
Syntax tree enum
This type is a syntax tree enum.
Variants§
Path(Path)
List(MetaList)
A structured list within an attribute, like derive(Copy, Clone).
NameValue(MetaNameValue)
A name-value pair within an attribute, like feature = "nightly".
Implementations§
source§impl Meta
 
impl Meta
sourcepub fn path(&self) -> &Path
 
pub fn path(&self) -> &Path
Returns the path that begins this structured meta item.
For example this would return the test in #[test], the derive in
#[derive(Copy)], and the path in #[path = "sys/windows.rs"].
sourcepub fn require_path_only(&self) -> Result<&Path>
 
pub fn require_path_only(&self) -> Result<&Path>
Error if this is a Meta::List or Meta::NameValue.
sourcepub fn require_list(&self) -> Result<&MetaList>
 
pub fn require_list(&self) -> Result<&MetaList>
Error if this is a Meta::Path or Meta::NameValue.
sourcepub fn require_name_value(&self) -> Result<&MetaNameValue>
 
pub fn require_name_value(&self) -> Result<&MetaNameValue>
Error if this is a Meta::Path or Meta::List.
Trait Implementations§
source§impl From<MetaNameValue> for Meta
 
impl From<MetaNameValue> for Meta
source§fn from(e: MetaNameValue) -> Meta
 
fn from(e: MetaNameValue) -> Meta
Converts to this type from the input type.
source§impl ToTokens for Meta
 
impl ToTokens for Meta
source§fn to_tokens(&self, tokens: &mut TokenStream)
 
fn to_tokens(&self, tokens: &mut TokenStream)
source§fn to_token_stream(&self) -> TokenStream
 
fn to_token_stream(&self) -> TokenStream
source§fn into_token_stream(self) -> TokenStreamwhere
    Self: Sized,
 
fn into_token_stream(self) -> TokenStreamwhere Self: Sized,
Auto Trait Implementations§
impl RefUnwindSafe for Meta
impl !Send for Meta
impl !Sync for Meta
impl Unpin for Meta
impl UnwindSafe for Meta
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Spanned for Twhere
    T: Spanned + ?Sized,
 
impl<T> Spanned for Twhere T: Spanned + ?Sized,
source§fn span(&self) -> Span
 
fn span(&self) -> Span
Returns a 
Span covering the complete contents of this syntax tree
node, or Span::call_site() if this node is empty.