[][src]Enum syn::Item

pub enum Item {
    Const(ItemConst),
    Enum(ItemEnum),
    ExternCrate(ItemExternCrate),
    Fn(ItemFn),
    ForeignMod(ItemForeignMod),
    Impl(ItemImpl),
    Macro(ItemMacro),
    Macro2(ItemMacro2),
    Mod(ItemMod),
    Static(ItemStatic),
    Struct(ItemStruct),
    Trait(ItemTrait),
    TraitAlias(ItemTraitAlias),
    Type(ItemType),
    Union(ItemUnion),
    Use(ItemUse),
    Verbatim(TokenStream),
    // some variants omitted
}
This is supported on crate feature full only.

Things that can appear directly inside of a module or scope.

This type is available only if Syn is built with the "full" feature.

Syntax tree enum

This type is a syntax tree enum.

Variants

Const(ItemConst)

A constant item: const MAX: u16 = 65535.

Enum(ItemEnum)

An enum definition: enum Foo<A, B> { A(A), B(B) }.

ExternCrate(ItemExternCrate)

An extern crate item: extern crate serde.

Fn(ItemFn)

A free-standing function: fn process(n: usize) -> Result<()> { ... }.

ForeignMod(ItemForeignMod)

A block of foreign items: extern "C" { ... }.

Impl(ItemImpl)

An impl block providing trait or associated items: impl<A> Trait for Data<A> { ... }.

Macro(ItemMacro)

A macro invocation, which includes macro_rules! definitions.

Macro2(ItemMacro2)

A 2.0-style declarative macro introduced by the macro keyword.

Mod(ItemMod)

A module or module declaration: mod m or mod m { ... }.

Static(ItemStatic)

A static item: static BIKE: Shed = Shed(42).

Struct(ItemStruct)

A struct definition: struct Foo<A> { x: A }.

Trait(ItemTrait)

A trait definition: pub trait Iterator { ... }.

TraitAlias(ItemTraitAlias)

A trait alias: pub trait SharableIterator = Iterator + Sync.

Type(ItemType)

A type alias: type Result<T> = std::result::Result<T, MyError>.

Union(ItemUnion)

A union definition: union Foo<A, B> { x: A, y: B }.

Use(ItemUse)

A use declaration: use std::collections::HashMap.

Verbatim(TokenStream)

Tokens forming an item not interpreted by Syn.

Trait Implementations

impl Clone for Item[src]

This is supported on crate feature clone-impls only.

impl Debug for Item[src]

This is supported on crate feature extra-traits only.

impl Eq for Item[src]

impl From<DeriveInput> for Item[src]

impl From<ItemConst> for Item[src]

impl From<ItemEnum> for Item[src]

impl From<ItemExternCrate> for Item[src]

impl From<ItemFn> for Item[src]

impl From<ItemForeignMod> for Item[src]

impl From<ItemImpl> for Item[src]

impl From<ItemMacro> for Item[src]

impl From<ItemMacro2> for Item[src]

impl From<ItemMod> for Item[src]

impl From<ItemStatic> for Item[src]

impl From<ItemStruct> for Item[src]

impl From<ItemTrait> for Item[src]

impl From<ItemTraitAlias> for Item[src]

impl From<ItemType> for Item[src]

impl From<ItemUnion> for Item[src]

impl From<ItemUse> for Item[src]

impl Hash for Item[src]

This is supported on crate feature extra-traits only.

impl Parse for Item[src]

This is supported on crate feature parsing only.

impl PartialEq<Item> for Item[src]

This is supported on crate feature extra-traits only.

impl ToTokens for Item[src]

This is supported on crate feature printing only.

Auto Trait Implementations

impl RefUnwindSafe for Item

impl !Send for Item

impl !Sync for Item

impl Unpin for Item

impl UnwindSafe for Item

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<T> From<T> for T[src]

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

impl<T> Spanned for T where
    T: Spanned + ?Sized
[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.