Enum darling_core::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
Enum(Vec<V>)
Struct(Fields<F>)
Methods
impl<V, F> Data<V, F>
[src]
pub fn empty_from(src: &Data) -> Self
[src]
Creates an empty body of the same shape as the passed-in body.
pub fn as_ref<'a>(&'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]
T: FnMut(V) -> U,
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]
T: FnMut(F) -> U,
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]
T: FnMut(Fields<F>) -> Fields<U>,
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>>
[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: FromVariant, F: FromField> Data<V, F>
[src]
Trait Implementations
impl<V: Debug, F: Debug> Debug for Data<V, F>
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<V: Clone, F: Clone> Clone for Data<V, F>
[src]
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: PartialEq, F: PartialEq> PartialEq for Data<V, F>
[src]
fn eq(&self, __arg_0: &Data<V, F>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Data<V, F>) -> bool
[src]
This method tests for !=
.
impl<V: Eq, F: Eq> Eq for Data<V, F>
[src]
impl<V: UsesTypeParams, F: UsesTypeParams> UsesTypeParams for Data<V, F>
[src]
fn uses_type_params<'a>(
&self,
options: &Options,
type_set: &'a IdentSet
) -> IdentRefSet<'a>
[src]
&self,
options: &Options,
type_set: &'a IdentSet
) -> IdentRefSet<'a>
Returns the subset of the queried type parameters that are used by the implementing syntax element. Read more
impl<V: UsesLifetimes, F: UsesLifetimes> UsesLifetimes for Data<V, F>
[src]
fn uses_lifetimes<'a>(
&self,
options: &Options,
lifetimes: &'a LifetimeSet
) -> LifetimeRefSet<'a>
[src]
&self,
options: &Options,
lifetimes: &'a LifetimeSet
) -> LifetimeRefSet<'a>
Returns the subset of the queried lifetimes that are used by the implementing syntax element. Read more