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 Idents 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
Idents 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.