Enum syntax_ext::deriving::generic::SubstructureFields
[−]
[src]
pub enum SubstructureFields<'a> { Struct(&'a VariantData, Vec<FieldInfo<'a>>), EnumMatching(usize, &'a Variant, Vec<FieldInfo<'a>>), EnumNonMatchingCollapsed(Vec<Ident>, &'a [Variant], &'a [Ident]), StaticStruct(&'a VariantData, StaticFields), StaticEnum(&'a EnumDef, Vec<(Ident, Span, StaticFields)>), }
Unstable (
rustc_private
)A summary of the possible sets of fields.
Variants
Struct(&'a VariantData, Vec<FieldInfo<'a>>)
Unstable (
rustc_private
)EnumMatching(usize, &'a Variant, Vec<FieldInfo<'a>>)
Unstable (
rustc_private
)Matching variants of the enum: variant index, ast::Variant,
fields: the field name is only non-None
in the case of a struct
variant.
EnumNonMatchingCollapsed(Vec<Ident>, &'a [Variant], &'a [Ident])
Unstable (
rustc_private
)Non-matching variants of the enum, but with all state hidden from
the consequent code. The first component holds Ident
s for all of
the Self
arguments; the second component is a slice of all of the
variants for the enum itself, and the third component is a list of
Ident
s bound to the variant index values for each of the actual
input Self
arguments.
StaticStruct(&'a VariantData, StaticFields)
Unstable (
rustc_private
)A static method where Self
is a struct.
StaticEnum(&'a EnumDef, Vec<(Ident, Span, StaticFields)>)
Unstable (
rustc_private
)A static method where Self
is an enum.