diff --git a/Configurations.md b/Configurations.md index ae8ea2b3c6d2..6fcd0609b656 100644 --- a/Configurations.md +++ b/Configurations.md @@ -1303,7 +1303,7 @@ fn main() { }); match lorem { - None => if ipsum { + None => |ipsum| { println!("Hello World"); }, Some(dolor) => foo(), @@ -1324,7 +1324,7 @@ fn main() { match lorem { None => { - if ipsum { + |ipsum| { println!("Hello World"); } } diff --git a/src/config/lists.rs b/src/config/lists.rs index 61496e216424..9dc3a7e6b0f2 100644 --- a/src/config/lists.rs +++ b/src/config/lists.rs @@ -95,11 +95,13 @@ impl SeparatorPlace { ) -> SeparatorPlace { match tactic { DefinitiveListTactic::Vertical => default, - _ => if sep == "," { - SeparatorPlace::Back - } else { - default - }, + _ => { + if sep == "," { + SeparatorPlace::Back + } else { + default + } + } } } } diff --git a/src/expr.rs b/src/expr.rs index 329081f5d704..fef4a024cf5e 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -179,11 +179,13 @@ pub fn format_expr( Some(format!("break{}", id_str)) } } - ast::ExprKind::Yield(ref opt_expr) => if let Some(ref expr) = *opt_expr { - rewrite_unary_prefix(context, "yield ", &**expr, shape) - } else { - Some("yield".to_string()) - }, + ast::ExprKind::Yield(ref opt_expr) => { + if let Some(ref expr) = *opt_expr { + rewrite_unary_prefix(context, "yield ", &**expr, shape) + } else { + Some("yield".to_string()) + } + } ast::ExprKind::Closure(capture, asyncness, movability, ref fn_decl, ref body, _) => { closures::rewrite_closure( capture, asyncness, movability, fn_decl, body, expr.span, context, shape, diff --git a/src/matches.rs b/src/matches.rs index 9fac170b96c9..2295535b1215 100644 --- a/src/matches.rs +++ b/src/matches.rs @@ -20,7 +20,7 @@ use comment::{combine_strs_with_missing_comments, rewrite_comment}; use config::{Config, ControlBraceStyle, IndentStyle}; use expr::{ format_expr, is_empty_block, is_simple_block, is_unsafe_block, prefer_next_line, - rewrite_multiple_patterns, ExprType, RhsTactics, ToExpr, + rewrite_multiple_patterns, ExprType, RhsTactics, }; use lists::{itemize_list, write_list, ListFormatting}; use rewrite::{Rewrite, RewriteContext}; @@ -314,23 +314,21 @@ fn block_can_be_flattened<'a>( // @extend: true if the arm body can be put next to `=>` // @body: flattened body, if the body is block with a single expression fn flatten_arm_body<'a>(context: &'a RewriteContext, body: &'a ast::Expr) -> (bool, &'a ast::Expr) { + let can_extend = + |expr| !context.config.force_multiline_blocks() && can_flatten_block_around_this(expr); + if let Some(ref block) = block_can_be_flattened(context, body) { if let ast::StmtKind::Expr(ref expr) = block.stmts[0].node { if let ast::ExprKind::Block(..) = expr.node { flatten_arm_body(context, expr) } else { - let can_extend_expr = - !context.config.force_multiline_blocks() && can_flatten_block_around_this(expr); - (can_extend_expr, &*expr) + (can_extend(expr), &*expr) } } else { (false, &*body) } } else { - ( - !context.config.force_multiline_blocks() && body.can_be_overflowed(context, 1), - &*body, - ) + (can_extend(body), &*body) } }