Enum darling::ast::Data[][src]

pub enum Data<V, F> {
    Enum(Vec<V, Global>),
    Struct(Fields<F>),
}
Expand description

A struct or enum body.

V is the type which receives any encountered variants, and F receives struct fields.

Variants

Enum(Vec<V, Global>)
Struct(Fields<F>)

Implementations

impl<V, F> Data<V, F>[src]

pub fn empty_from(src: &Data) -> Data<V, F>[src]

Creates an empty body of the same shape as the passed-in body.

Panics

This function will panic if passed syn::Data::Union.

pub fn try_empty_from(src: &Data) -> Result<Data<V, F>, Error>[src]

Creates an empty body of the same shape as the passed-in body.

darling does not support unions; calling this function with a union body will return an error.

pub fn as_ref(&self) -> Data<&V, &F>[src]

Creates a new Data<&'a V, &'a F> instance from Data<V, F>.

pub fn map_enum_variants<T, U>(self, map: T) -> Data<U, F> where
    T: FnMut(V) -> U, 
[src]

Applies a function V -> U on enum variants, if this is an enum.

pub fn map_struct_fields<T, U>(self, map: T) -> Data<V, U> where
    T: FnMut(F) -> U, 
[src]

Applies a function F -> U on struct fields, if this is a struct.

pub fn map_struct<T, U>(self, map: T) -> Data<V, U> where
    T: FnMut(Fields<F>) -> Fields<U>, 
[src]

Applies a function to the Fields if this is a struct.

pub fn take_struct(self) -> Option<Fields<F>>[src]

Consumes the Data, returning Fields<F> if it was a struct.

pub fn take_enum(self) -> Option<Vec<V, Global>>[src]

Consumes the Data, returning Vec<V> if it was an enum.

pub fn is_enum(&self) -> bool[src]

Returns true if this instance is Data::Enum.

pub fn is_struct(&self) -> bool[src]

Returns true if this instance is Data::Struct.

impl<V, F> Data<V, F> where
    F: FromField,
    V: FromVariant
[src]

pub fn try_from(body: &Data) -> Result<Data<V, F>, Error>[src]

Attempt to convert from a syn::Data instance.

Trait Implementations

impl<V, F> Clone for Data<V, F> where
    F: Clone,
    V: Clone
[src]

pub fn clone(&self) -> Data<V, F>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<V, F> Debug for Data<V, F> where
    F: Debug,
    V: Debug
[src]

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl<V, F> PartialEq<Data<V, F>> for Data<V, F> where
    F: PartialEq<F>,
    V: PartialEq<V>, 
[src]

pub fn eq(&self, other: &Data<V, F>) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

pub fn ne(&self, other: &Data<V, F>) -> bool[src]

This method tests for !=.

impl<V, F> UsesLifetimes for Data<V, F> where
    F: UsesLifetimes,
    V: UsesLifetimes
[src]

pub fn uses_lifetimes(
    &self,
    options: &Options,
    lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
[src]

Returns the subset of the queried lifetimes that are used by the implementing syntax element. Read more

fn uses_lifetimes_cloned(
    &self,
    options: &Options,
    lifetimes: &HashSet<Lifetime, BuildHasherDefault<FnvHasher>>
) -> HashSet<Lifetime, BuildHasherDefault<FnvHasher>>
[src]

Find all used lifetimes, then clone them and return that set.

impl<V, F> UsesTypeParams for Data<V, F> where
    F: UsesTypeParams,
    V: UsesTypeParams
[src]

pub fn uses_type_params(
    &self,
    options: &Options,
    type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
[src]

Returns the subset of the queried type parameters that are used by the implementing syntax element. Read more

fn uses_type_params_cloned(
    &self,
    options: &Options,
    type_set: &HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<Ident, BuildHasherDefault<FnvHasher>>
[src]

Find all type params using uses_type_params, then clone the found values and return the set.

impl<V, F> Eq for Data<V, F> where
    F: Eq,
    V: Eq
[src]

impl<V, F> StructuralEq for Data<V, F>[src]

impl<V, F> StructuralPartialEq for Data<V, F>[src]

Auto Trait Implementations

impl<V, F> RefUnwindSafe for Data<V, F> where
    F: RefUnwindSafe,
    V: RefUnwindSafe

impl<V, F> !Send for Data<V, F>

impl<V, F> !Sync for Data<V, F>

impl<V, F> Unpin for Data<V, F> where
    F: Unpin,
    V: Unpin

impl<V, F> UnwindSafe for Data<V, F> where
    F: UnwindSafe,
    V: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.