[][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
}

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]

impl Debug for Item[src]

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]

impl Parse for Item[src]

impl PartialEq<Item> for Item[src]

impl ToTokens for Item[src]

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.