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

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

A struct or enum body.

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

Variants

Methods

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

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

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

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

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

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

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

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

Returns true if this instance is Data::Enum.

Returns true if this instance is Data::Struct.

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

Attempt to convert from a syn::Data instance.

Trait Implementations

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

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

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

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

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

Formats the value using the given formatter. Read more

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

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

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> PartialEq<Data<V, F>> for Data<V, F> where
    F: PartialEq<F>,
    V: PartialEq<V>, 
[src]

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

This method tests for !=.

Auto Trait Implementations

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

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