Struct Variant

pub struct Variant { pub attrs: Vec<Attribute>, pub ident: Ident, pub fields: Fields, pub discriminant: Option<(Eq, Expr)> }

An enum variant.

Fields

attrs: Vec<Attribute>
ident: Ident

Name of the variant.

fields: Fields

Content stored in the variant.

discriminant: Option<(Eq, Expr)>

Explicit discriminant: Variant = 1

Trait Implementations

impl Clone for Variant

fn clone(&self) -> Self

impl Parse for Variant

fn parse(input: ParseStream<'_>) -> Result<Self>

impl ToTokens for Variant

fn to_tokens(&self, tokens: &mut TokenStream)

Auto Trait Implementations

impl !Send for Variant

impl !Sync for Variant

impl Freeze for Variant

impl RefUnwindSafe for Variant

impl Unpin for Variant

impl UnsafeUnpin for Variant

impl UnwindSafe for Variant

Blanket Implementations

impl<T> Any for Variant where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Variant where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Variant where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for Variant where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for Variant

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Spanned for Variant where T: Spanned + ?Sized,

fn span(&self) -> Span

impl<T> ToOwned for Variant where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for Variant where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for Variant where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for Variant where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>