#[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)
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
sourceimpl From<DeriveInput> for Item
impl From<DeriveInput> for Item
sourcefn from(input: DeriveInput) -> Item
fn from(input: DeriveInput) -> Item
Converts to this type from the input type.
sourceimpl From<ItemExternCrate> for Item
impl From<ItemExternCrate> for Item
sourcefn from(e: ItemExternCrate) -> Item
fn from(e: ItemExternCrate) -> Item
Converts to this type from the input type.
sourceimpl From<ItemForeignMod> for Item
impl From<ItemForeignMod> for Item
sourcefn from(e: ItemForeignMod) -> Item
fn from(e: ItemForeignMod) -> Item
Converts to this type from the input type.
sourceimpl From<ItemMacro2> for Item
impl From<ItemMacro2> for Item
sourcefn from(e: ItemMacro2) -> Item
fn from(e: ItemMacro2) -> Item
Converts to this type from the input type.
sourceimpl From<ItemStatic> for Item
impl From<ItemStatic> for Item
sourcefn from(e: ItemStatic) -> Item
fn from(e: ItemStatic) -> Item
Converts to this type from the input type.
sourceimpl From<ItemStruct> for Item
impl From<ItemStruct> for Item
sourcefn from(e: ItemStruct) -> Item
fn from(e: ItemStruct) -> Item
Converts to this type from the input type.
sourceimpl From<ItemTraitAlias> for Item
impl From<ItemTraitAlias> for Item
sourcefn from(e: ItemTraitAlias) -> Item
fn from(e: ItemTraitAlias) -> Item
Converts to this type from the input type.
sourceimpl ToTokens for Item
impl ToTokens for Item
sourcefn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
Write self
to the given TokenStream
. Read more
sourcefn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
Convert self
directly into a TokenStream
object. Read more
sourcefn into_token_stream(self) -> TokenStream
fn into_token_stream(self) -> TokenStream
Convert self
directly into a TokenStream
object. Read more
impl Eq for Item
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Spanned for T where
T: Spanned + ?Sized,
impl<T> Spanned for T where
T: Spanned + ?Sized,
sourcefn span(&self) -> Span
fn span(&self) -> Span
Returns a Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more