Enum syn::Item [−][src]
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][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src][+]
T: ?Sized,
impl<T> From<T> for T[src][+]
impl<T, U> Into<U> for T where
U: From<T>, [src][+]
U: From<T>,
impl<T> Spanned for T where
T: Spanned + ?Sized, [src][+]
T: Spanned + ?Sized,
impl<T> ToOwned for T where
T: Clone, [src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src][+]
U: TryFrom<T>,