[][src]Struct rustc_ap_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<TokenStream>,
}

An item definition.

Fields

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<TokenStream>

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.

Methods

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: Decodable> Decodable for Item<K>[src]

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

impl HasAttrs for Item[src]

Auto Trait Implementations

impl<K = ItemKind> !RefUnwindSafe for Item<K>

impl<K = ItemKind> !Send for Item<K>

impl<K = ItemKind> !Sync for Item<K>

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

impl<K = ItemKind> !UnwindSafe for Item<K>

Blanket Implementations

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

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Decodable for T where
    T: UseSpecializedDecodable
[src]

impl<T> Encodable for T where
    T: UseSpecializedEncodable + ?Sized
[src]

impl<T> Erased for T[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<E> SpecializationError for E[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.