[][src]Struct rustc_ast::ast::Item

pub struct Item<K = ItemKind> {
    pub attrs: Vec<Attribute>,
    pub id: NodeId,
    pub span: Span,
    pub vis: Visibility,
    pub ident: Ident,
    pub kind: K,
    pub tokens: Option<LazyTokenStream>,

An item definition.


attrs: Vec<Attribute>id: NodeIdspan: Spanvis: Visibilityident: Ident

The name of the item. It might be a dummy name in case of anonymous items.

kind: Ktokens: Option<LazyTokenStream>

Original tokens this item was parsed from. This isn't necessarily available for all items, although over time more and more items should have this be Some. Right now this is primarily used for procedural macros, notably custom attributes.

Note that the tokens here do not include the outer attributes, but will include inner attributes.


impl Item[src]

pub fn span_with_attributes(&self) -> Span[src]

Return the span that encompasses the attributes.

impl<K: Into<ItemKind>> Item<K>[src]

pub fn into_item(self) -> Item[src]

Trait Implementations

impl<K: Clone> Clone for Item<K>[src]

impl<K: Debug> Debug for Item<K>[src]

impl<K, __D: Decoder> Decodable<__D> for Item<K> where
    K: Decodable<__D>, 

impl<K, __E: Encoder> Encodable<__E> for Item<K> where
    K: Encodable<__E>, 

impl HasAttrs for Item[src]

impl HasTokens for Item[src]

Auto Trait Implementations

impl<K = ItemKind> !RefUnwindSafe for Item<K>[src]

impl<K = ItemKind> !Send for Item<K>[src]

impl<K = ItemKind> !Sync for Item<K>[src]

impl<K> Unpin for Item<K> where
    K: Unpin

impl<K = ItemKind> !UnwindSafe for Item<K>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.