Skip to main content

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

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

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§