pub enum ModuleItem {
Function(FnSig),
ImplBlock(ImplBlockSig),
Module(ModuleSig),
Trait(TraitSig),
Enum(EnumSig),
Struct(StructSig),
TypeAlias(TypeAliasSig),
Const(ConstSig),
Static(StaticSig),
Other(TokenTree),
}Expand description
Top-level item that can appear in a module
Variants§
Function(FnSig)
A function definition
ImplBlock(ImplBlockSig)
An impl block
Module(ModuleSig)
A module definition
Trait(TraitSig)
A trait definition
Enum(EnumSig)
An enum definition
Struct(StructSig)
A struct definition
TypeAlias(TypeAliasSig)
A type alias
Const(ConstSig)
A constant
Static(StaticSig)
A static
Other(TokenTree)
Any other item (use, extern crate, etc.)
Trait Implementations§
Source§impl Debug for ModuleItem
impl Debug for ModuleItem
Source§impl Parser for ModuleItem
impl Parser for ModuleItem
Source§impl ToTokens for ModuleItem
impl ToTokens for ModuleItem
Source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
Write
&self to the given TokenStream.Source§fn to_token_iter(
&self,
) -> ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>
fn to_token_iter( &self, ) -> ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>
Convert
&self into a TokenIter object.Source§fn into_token_iter<'a>(
self,
) -> ShadowCountedIter<'a, <TokenStream as IntoIterator>::IntoIter>where
Self: Sized,
fn into_token_iter<'a>(
self,
) -> ShadowCountedIter<'a, <TokenStream as IntoIterator>::IntoIter>where
Self: Sized,
Convert
self into a TokenIter object.Source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
Convert
&self into a TokenStream object.Source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
Convert
self into a TokenStream object.Source§impl ToTokens for ModuleItem
impl ToTokens for ModuleItem
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 Freeze for ModuleItem
impl RefUnwindSafe for ModuleItem
impl !Send for ModuleItem
impl !Sync for ModuleItem
impl Unpin for ModuleItem
impl UnwindSafe for ModuleItem
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
Mutably borrows from an owned value. Read more
Source§impl<T> Parse for Twhere
T: Parser,
impl<T> Parse for Twhere
T: Parser,
Source§fn parse(
tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>,
) -> Result<Self, Error>
fn parse( tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>, ) -> Result<Self, Error>
This is the user facing API to parse grammatical entities. Calls a
parser() within a
transaction. Commits changes on success and returns the parsed value. Read moreSource§fn parse_all(
tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>,
) -> Result<Self, Error>
fn parse_all( tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>, ) -> Result<Self, Error>
Exhaustive parsing within a transaction. This is a convenience method that implies a
EndOfStream at the end. Thus it will error if parsing is not exhaustive. Read moreSource§fn parse_with<T>(
tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>,
f: impl FnOnce(Self, &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>) -> Result<T, Error>,
) -> Result<T, Error>
fn parse_with<T>( tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>, f: impl FnOnce(Self, &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>) -> Result<T, Error>, ) -> Result<T, Error>
Parse a value in a transaction, pass it to a
FnOnce(Self, &mut TokenIter) -> Result<T> closure which
creates a new result or returns an Error. Read more