#[non_exhaustive]
pub enum Item {
Show 16 variants
Const(ItemConst),
Enum(ItemEnum),
ExternCrate(ItemExternCrate),
Fn(ItemFn),
ForeignMod(ItemForeignMod),
Impl(ItemImpl),
Macro(ItemMacro),
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.
Syntax tree enum
This type is a syntax tree enum.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
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.
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§
source§impl From<DeriveInput> for Item
impl From<DeriveInput> for Item
source§fn from(input: DeriveInput) -> Item
fn from(input: DeriveInput) -> Item
source§impl From<ItemExternCrate> for Item
impl From<ItemExternCrate> for Item
source§fn from(e: ItemExternCrate) -> Item
fn from(e: ItemExternCrate) -> Item
source§impl From<ItemForeignMod> for Item
impl From<ItemForeignMod> for Item
source§fn from(e: ItemForeignMod) -> Item
fn from(e: ItemForeignMod) -> Item
source§impl From<ItemStatic> for Item
impl From<ItemStatic> for Item
source§fn from(e: ItemStatic) -> Item
fn from(e: ItemStatic) -> Item
source§impl From<ItemStruct> for Item
impl From<ItemStruct> for Item
source§fn from(e: ItemStruct) -> Item
fn from(e: ItemStruct) -> Item
source§impl From<ItemTraitAlias> for Item
impl From<ItemTraitAlias> for Item
source§fn from(e: ItemTraitAlias) -> Item
fn from(e: ItemTraitAlias) -> Item
source§impl ToTokens for Item
impl ToTokens for Item
source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
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§
source§impl<T> Spanned for Twhere
T: Spanned + ?Sized,
impl<T> Spanned for Twhere
T: Spanned + ?Sized,
source§fn span(&self) -> Span
fn span(&self) -> Span
Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty.