Fallout from removing TupField
This commit is contained in:
parent
aa7fc4cdc5
commit
01c1f99e39
@ -393,7 +393,6 @@ fn pop_expr_chain(expr: &ast::Expr, context: &RewriteContext) -> Option<ast::Exp
|
||||
ast::ExprKind::MethodCall(_, ref expressions) => {
|
||||
Some(convert_try(&expressions[0], context))
|
||||
}
|
||||
ast::ExprKind::TupField(ref subexpr, _)
|
||||
| ast::ExprKind::Field(ref subexpr, _)
|
||||
| ast::ExprKind::Try(ref subexpr) => Some(convert_try(subexpr, context)),
|
||||
_ => None,
|
||||
@ -440,19 +439,28 @@ fn rewrite_chain_subexpr(
|
||||
};
|
||||
rewrite_method_call(segment.ident, types, expressions, span, context, shape)
|
||||
}
|
||||
ast::ExprKind::Field(_, ref field) => rewrite_element(format!(".{}", field.name)),
|
||||
ast::ExprKind::TupField(ref expr, ref field) => {
|
||||
let space = match expr.node {
|
||||
ast::ExprKind::TupField(..) => " ",
|
||||
_ => "",
|
||||
ast::ExprKind::Field(ref nested, ref field) => {
|
||||
let space = if is_tup_field_access(expr) && is_tup_field_access(nested) {
|
||||
" "
|
||||
} else {
|
||||
""
|
||||
};
|
||||
rewrite_element(format!("{}.{}", space, field.node))
|
||||
rewrite_element(format!("{}.{}", space, field.name))
|
||||
}
|
||||
ast::ExprKind::Try(_) => rewrite_element(String::from("?")),
|
||||
_ => unreachable!(),
|
||||
}
|
||||
}
|
||||
|
||||
fn is_tup_field_access(expr: &ast::Expr) -> bool {
|
||||
match expr.node {
|
||||
ast::ExprKind::Field(_, ref field) => {
|
||||
field.name.to_string().chars().all(|c| c.is_digit(10))
|
||||
}
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
||||
// Determines if we can continue formatting a given expression on the same line.
|
||||
fn is_continuable(expr: &ast::Expr) -> bool {
|
||||
match expr.node {
|
||||
|
@ -178,7 +178,6 @@ pub fn format_expr(
|
||||
}
|
||||
ast::ExprKind::Try(..)
|
||||
| ast::ExprKind::Field(..)
|
||||
| ast::ExprKind::TupField(..)
|
||||
| ast::ExprKind::MethodCall(..) => rewrite_chain(expr, context, shape),
|
||||
ast::ExprKind::Mac(ref mac) => {
|
||||
rewrite_macro(mac, None, context, shape, MacroPosition::Expression).or_else(|| {
|
||||
@ -1349,7 +1348,6 @@ fn is_simple_expr(expr: &ast::Expr) -> bool {
|
||||
| ast::ExprKind::Cast(ref expr, _)
|
||||
| ast::ExprKind::Field(ref expr, _)
|
||||
| ast::ExprKind::Try(ref expr)
|
||||
| ast::ExprKind::TupField(ref expr, _)
|
||||
| ast::ExprKind::Unary(_, ref expr) => is_simple_expr(expr),
|
||||
ast::ExprKind::Index(ref lhs, ref rhs) | ast::ExprKind::Repeat(ref lhs, ref rhs) => {
|
||||
is_simple_expr(lhs) && is_simple_expr(rhs)
|
||||
|
@ -365,7 +365,6 @@ pub fn left_most_sub_expr(e: &ast::Expr) -> &ast::Expr {
|
||||
| ast::ExprKind::Assign(ref e, _)
|
||||
| ast::ExprKind::AssignOp(_, ref e, _)
|
||||
| ast::ExprKind::Field(ref e, _)
|
||||
| ast::ExprKind::TupField(ref e, _)
|
||||
| ast::ExprKind::Index(ref e, _)
|
||||
| ast::ExprKind::Range(Some(ref e), _, _)
|
||||
| ast::ExprKind::Try(ref e) => left_most_sub_expr(e),
|
||||
|
Loading…
Reference in New Issue
Block a user