Enum rustc_builtin_macros::deriving::generic::SubstructureFields [−][src]
pub enum SubstructureFields<'a> {
Struct(&'a VariantData, Vec<FieldInfo<'a>>),
EnumMatching(usize, usize, &'a Variant, Vec<FieldInfo<'a>>),
EnumNonMatchingCollapsed(Vec<Ident>, &'a [Variant], &'a [Ident]),
StaticStruct(&'a VariantData, StaticFields),
StaticEnum(&'a EnumDef, Vec<(Ident, Span, StaticFields)>),
}Expand description
A summary of the possible sets of fields.
Variants
Struct(&'a VariantData, Vec<FieldInfo<'a>>)Expand description
Matching variants of the enum: variant index, variant count, ast::Variant,
fields: the field name is only non-None in the case of a struct
variant.
Expand description
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)Expand description
A static method where Self is a struct.
Expand description
A static method where Self is an enum.