Struct ExprMatch
Iterator<Item = &Expr>
node: &ExprMatch
.into_iter
.chain
Iterator<Item = &mut Expr>
node: &mut ExprMatch
.into_iter
.chain
pub struct ExprMatch {
pub attrs: Vec<Attribute>,
pub match_token: Match,
pub expr: Box<Expr>,
pub brace_token: Brace,
pub arms: Vec<Arm>,
}
pub struct Arm {
pub attrs: Vec<Attribute>,
pub pat: Pat,
pub guard: Option<(If, Box<Expr>)>,
pub fat_arrow_token: FatArrow,
pub body: Box<Expr>,
pub comma: Option<Comma>,
}
node: &ExprMatch
[node.expr.as_ref()]
.into_iter()
.chain(
node.arms
.iter()
.flat_map(|arm| {
arm.guard
.as_slice()
.iter()
.map(|(_, expr)| expr.as_ref())
.chain([arm.body.as_ref()])
}),
)
node: &mut ExprMatch
[node.expr.as_mut()]
.into_iter()
.chain(
node.arms
.iter_mut()
.flat_map(|arm| {
arm.guard
.as_mut_slice()
.iter_mut()
.map(|(_, expr)| expr.as_mut())
.chain([arm.body.as_mut()])
}),
)