ItemLike

Trait ItemLike 

Source
pub trait ItemLike: Spanned {
    // Required methods
    fn attrs(&self) -> Result<&[Attribute]>;
    fn attrs_mut(&mut self) -> Result<&mut Vec<Attribute>>;
    fn function_or_method(&self) -> Result<&dyn FunctionLike>;
    fn constant(&self) -> Result<&dyn ConstLike>;
    fn is_type(&self) -> bool;
    fn is_macro(&self) -> bool;
}
Expand description

Extension for syn::Item

Required Methods§

Source

fn attrs(&self) -> Result<&[Attribute]>

Returns reference of inner attrs if not verbatim; otherwise Err

Source

fn attrs_mut(&mut self) -> Result<&mut Vec<Attribute>>

Returns mutable reference of inner attrs if not verbatim; otherwise Err

Source

fn function_or_method(&self) -> Result<&dyn FunctionLike>

Returns function-like trait object of Item::Fn, ImplItem::Method, or TraitItem::Method

Source

fn constant(&self) -> Result<&dyn ConstLike>

Returns const-like trait object of Item::Const, ImplItem::Const, or TraitItem::Const

Source

fn is_type(&self) -> bool

Returns true if self matches *ItemType

Source

fn is_macro(&self) -> bool

Returns true if self matches *ItemMacro

Implementations on Foreign Types§

Source§

impl ItemLike for ImplItem

Source§

fn attrs(&self) -> Result<&[Attribute]>

Source§

fn attrs_mut(&mut self) -> Result<&mut Vec<Attribute>>

Source§

fn function_or_method(&self) -> Result<&dyn FunctionLike>

Source§

fn constant(&self) -> Result<&dyn ConstLike>

Source§

fn is_type(&self) -> bool

Source§

fn is_macro(&self) -> bool

Source§

impl ItemLike for Item

Source§

fn attrs(&self) -> Result<&[Attribute]>

Source§

fn attrs_mut(&mut self) -> Result<&mut Vec<Attribute>>

Source§

fn function_or_method(&self) -> Result<&dyn FunctionLike>

Source§

fn constant(&self) -> Result<&dyn ConstLike>

Source§

fn is_type(&self) -> bool

Source§

fn is_macro(&self) -> bool

Source§

impl ItemLike for TraitItem

Source§

fn attrs(&self) -> Result<&[Attribute]>

Source§

fn attrs_mut(&mut self) -> Result<&mut Vec<Attribute>>

Source§

fn function_or_method(&self) -> Result<&dyn FunctionLike>

Source§

fn constant(&self) -> Result<&dyn ConstLike>

Source§

fn is_type(&self) -> bool

Source§

fn is_macro(&self) -> bool

Implementors§