Struct ItemEnum

docs.rs

pub struct ItemEnum {
    pub attrs: Vec<Attribute>,
    pub vis: Visibility,
    pub enum_token: Enum,
    pub ident: Ident,
    pub generics: Generics,
    pub brace_token: Brace,
    pub variants: Punctuated<Variant, Comma>,
}

pub struct Variant {
    pub attrs: Vec<Attribute>,
    pub ident: Ident,
    pub fields: Fields,
    pub discriminant: Option<(Eq, Expr)>,
}

Iterator<Item = &Expr>

node: &ItemEnum

node.variants
    .iter()
    .filter_map(|variant| {
        variant
            .discriminant
            .as_ref()
            .map(|(_, expr)| expr)
    })

diagram

Iterator<Item = &mut Expr>

node: &mut ItemEnum

node.variants
    .iter_mut()
    .filter_map(|variant| {
        variant
            .discriminant
            .as_mut()
            .map(|(_, expr)| expr)
    })

diagram