pub struct Field {
pub attrs: Vec<Attribute>,
pub vis: Visibility,
pub ident: Option<Ident>,
pub colon_token: Option<Colon>,
pub ty: Type,
pub assign: Option<(Eq, Expr)>,
}
Expand description
A field of a struct or enum variant.
This is a variant of syn::Field
supporting field initializers.
Fields§
§attrs: Vec<Attribute>
Attributes tagged on the field.
vis: Visibility
Visibility of the field.
ident: Option<Ident>
Name of the field, if any.
colon_token: Option<Colon>
:
token before type
ty: Type
Type of the field.
assign: Option<(Eq, Expr)>
Optional field initializer.
This is considered legal input when parsing, but not legal output. An
attribute rule such as AttrImplDefault
must remove the initializer before output is generated.
Implementations§
Source§impl Field
impl Field
Sourcepub fn parse_named(input: ParseStream<'_>) -> Result<Self>
pub fn parse_named(input: ParseStream<'_>) -> Result<Self>
Parse a named field
Sourcepub fn parse_unnamed(input: ParseStream<'_>) -> Result<Self>
pub fn parse_unnamed(input: ParseStream<'_>) -> Result<Self>
Parse an unnamed field
Trait Implementations§
Source§impl ToTokens for Field
impl ToTokens for Field
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 Field
impl RefUnwindSafe for Field
impl !Send for Field
impl !Sync for Field
impl Unpin for Field
impl UnwindSafe for Field
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> Spanned for Twhere
T: Spanned + ?Sized,
impl<T> Spanned for Twhere
T: Spanned + ?Sized,
Source§fn 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.