Add MatchKind member to the Match expr for pretty printing & fmt
This commit is contained in:
parent
0901b9fecf
commit
c36d5e3280
@ -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),
|
||||||
|
@ -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(_, _, _))
|
||||||
|
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user