[][src]Struct rustc_ap_syntax::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.

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

Fields

attrs: Vec<Attribute>id: NodeIdspan: Spanvis: Visibilityident: Identkind: 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.

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