Enum syn::Item [−][src]
#[non_exhaustive]
pub enum Item {
Show 17 variants
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),
}
Expand description
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 (Non-exhaustive)
This enum is marked as non-exhaustive
Const(ItemConst)
Tuple Fields
0: ItemConst
A constant item: const MAX: u16 = 65535
.
Enum(ItemEnum)
Tuple Fields
0: ItemEnum
An enum definition: enum Foo<A, B> { A(A), B(B) }
.
ExternCrate(ItemExternCrate)
Tuple Fields
An extern crate
item: extern crate serde
.
Fn(ItemFn)
Tuple Fields
0: ItemFn
A free-standing function: fn process(n: usize) -> Result<()> { ... }
.
ForeignMod(ItemForeignMod)
Tuple Fields
A block of foreign items: extern "C" { ... }
.
Impl(ItemImpl)
Tuple Fields
0: ItemImpl
An impl block providing trait or associated items: impl<A> Trait for Data<A> { ... }
.
Macro(ItemMacro)
Tuple Fields
0: ItemMacro
A macro invocation, which includes macro_rules!
definitions.
Macro2(ItemMacro2)
Tuple Fields
0: ItemMacro2
A 2.0-style declarative macro introduced by the macro
keyword.
Mod(ItemMod)
Tuple Fields
0: ItemMod
A module or module declaration: mod m
or mod m { ... }
.
Static(ItemStatic)
Tuple Fields
0: ItemStatic
A static item: static BIKE: Shed = Shed(42)
.
Struct(ItemStruct)
Tuple Fields
0: ItemStruct
A struct definition: struct Foo<A> { x: A }
.
Trait(ItemTrait)
Tuple Fields
0: ItemTrait
A trait definition: pub trait Iterator { ... }
.
TraitAlias(ItemTraitAlias)
Tuple Fields
A trait alias: pub trait SharableIterator = Iterator + Sync
.
Type(ItemType)
Tuple Fields
0: ItemType
A type alias: type Result<T> = std::result::Result<T, MyError>
.
Union(ItemUnion)
Tuple Fields
0: ItemUnion
A union definition: union Foo<A, B> { x: A, y: B }
.
Use(ItemUse)
Tuple Fields
0: ItemUse
A use declaration: use std::collections::HashMap
.
Verbatim(TokenStream)
Tuple Fields
0: TokenStream
Tokens forming an item not interpreted by Syn.
Trait Implementations
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for Item
impl UnwindSafe for Item
Blanket Implementations
Mutably borrows from an owned value. Read more