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

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

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.

pub fn as_ref(&'a self) -> Data<&'a V, &'a 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]

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

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

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

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

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> where
    F: Send,
    V: Send

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

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]

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.

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.