#[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),
}
full
only.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 Parse for Item
Available on crate feature parsing
only.
impl Parse for Item
parsing
only.fn parse(input: ParseStream<'_>) -> Result<Self>
Source§impl ToTokens for Item
Available on crate feature printing
only.
impl ToTokens for Item
printing
only.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,
impl Eq for Item
extra-traits
only.Auto Trait Implementations§
impl Freeze for Item
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
parsing
and printing
only.Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty.