pub enum StructKind {
Struct {
clauses: Option<WhereClauses>,
fields: BraceGroupContaining<CommaDelimitedVec<StructField>>,
},
TupleStruct {
fields: ParenthesisGroupContaining<CommaDelimitedVec<TupleField>>,
clauses: Option<WhereClauses>,
semi: Semi,
},
UnitStruct {
clauses: Option<WhereClauses>,
semi: Semi,
},
}
Expand description
Represents the kind of a struct definition.
Variants§
Struct
A regular struct with named fields, e.g., struct Foo { bar: u32 }
.
Fields
§
clauses: Option<WhereClauses>
Optional where clauses.
§
fields: BraceGroupContaining<CommaDelimitedVec<StructField>>
The fields enclosed in braces {}
.
TupleStruct
A tuple struct, e.g., struct Foo(u32, String);
.
Fields
§
fields: ParenthesisGroupContaining<CommaDelimitedVec<TupleField>>
The fields enclosed in parentheses ()
.
§
clauses: Option<WhereClauses>
Optional where clauses.
UnitStruct
A unit struct, e.g., struct Foo;
.
Trait Implementations§
Source§impl Debug for StructKind
impl Debug for StructKind
Source§impl Parser for StructKind
impl Parser for StructKind
Source§impl ToTokens for StructKind
impl ToTokens for StructKind
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.Auto Trait Implementations§
impl Freeze for StructKind
impl RefUnwindSafe for StructKind
impl !Send for StructKind
impl !Sync for StructKind
impl Unpin for StructKind
impl UnwindSafe for StructKind
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