Add MatchKind member to the Match expr for pretty printing & fmt

This commit is contained in:
Ross Smyth 2024-02-17 12:43:54 -05:00
parent 0901b9fecf
commit c36d5e3280
3 changed files with 3 additions and 3 deletions

View File

@ -105,7 +105,7 @@ fn visit_block(&mut self, block: &'ast Block) {
fn visit_expr(&mut self, expr: &'ast Expr) { fn visit_expr(&mut self, expr: &'ast Expr) {
self.is_break = match expr.kind { self.is_break = match expr.kind {
ExprKind::Break(..) | ExprKind::Continue(..) | ExprKind::Ret(..) => true, ExprKind::Break(..) | ExprKind::Continue(..) | ExprKind::Ret(..) => true,
ExprKind::Match(_, ref arms) => arms.iter().all(|arm| ExprKind::Match(_, ref arms, _) => arms.iter().all(|arm|
arm.body.is_none() || arm.body.as_deref().is_some_and(|body| self.check_expr(body)) arm.body.is_none() || arm.body.as_deref().is_some_and(|body| self.check_expr(body))
), ),
ExprKind::If(_, ref then, Some(ref els)) => self.check_block(then) && self.check_expr(els), ExprKind::If(_, ref then, Some(ref els)) => self.check_block(then) && self.check_expr(els),

View File

@ -552,7 +552,7 @@ fn ident_difference_expr_with_base_location(
| (Gen(_, _, _), Gen(_, _, _)) | (Gen(_, _, _), Gen(_, _, _))
| (Block(_, _), Block(_, _)) | (Block(_, _), Block(_, _))
| (Closure(_), Closure(_)) | (Closure(_), Closure(_))
| (Match(_, _), Match(_, _)) | (Match(_, _, _), Match(_, _, _))
| (Loop(_, _, _), Loop(_, _, _)) | (Loop(_, _, _), Loop(_, _, _))
| (ForLoop { .. }, ForLoop { .. }) | (ForLoop { .. }, ForLoop { .. })
| (While(_, _, _), While(_, _, _)) | (While(_, _, _), While(_, _, _))

View File

@ -198,7 +198,7 @@ pub fn eq_expr(l: &Expr, r: &Expr) -> bool {
}, },
(AssignOp(lo, lp, lv), AssignOp(ro, rp, rv)) => lo.node == ro.node && eq_expr(lp, rp) && eq_expr(lv, rv), (AssignOp(lo, lp, lv), AssignOp(ro, rp, rv)) => lo.node == ro.node && eq_expr(lp, rp) && eq_expr(lv, rv),
(Field(lp, lf), Field(rp, rf)) => eq_id(*lf, *rf) && eq_expr(lp, rp), (Field(lp, lf), Field(rp, rf)) => eq_id(*lf, *rf) && eq_expr(lp, rp),
(Match(ls, la), Match(rs, ra)) => eq_expr(ls, rs) && over(la, ra, eq_arm), (Match(ls, la, lkind), Match(rs, ra, rkind)) => (lkind == rkind) && eq_expr(ls, rs) && over(la, ra, eq_arm),
( (
Closure(box ast::Closure { Closure(box ast::Closure {
binder: lb, binder: lb,