From d8357484ac07db3e9f4fe03bf09bea3b0f925f1e Mon Sep 17 00:00:00 2001 From: Seiichi Uchida Date: Tue, 11 Sep 2018 13:31:37 +0900 Subject: [PATCH] Refactor the corner case of handling long function --- src/items.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/items.rs b/src/items.rs index 7f8980dd150..44d8889d832 100644 --- a/src/items.rs +++ b/src/items.rs @@ -2040,18 +2040,16 @@ fn rewrite_fn_base( let used_width = last_line_used_width(&result, indent.width()) + first_line_width(&ret_str); // Put the closing brace on the next line if it overflows the max width. // 1 = `)` - if fd.inputs.is_empty() && used_width + 1 > context.config.max_width() { - result.push('\n'); - } + let closing_paren_overflow_max_width = + fd.inputs.is_empty() && used_width + 1 > context.config.max_width(); // If the last line of args contains comment, we cannot put the closing paren // on the same line. - if arg_str + args_last_line_contains_comment = arg_str .lines() .last() - .map_or(false, |last_line| last_line.contains("//")) - { - args_last_line_contains_comment = true; - result.push_str(&arg_indent.to_string_with_newline(context.config)); + .map_or(false, |last_line| last_line.contains("//")); + if closing_paren_overflow_max_width || args_last_line_contains_comment { + result.push_str(&indent.to_string_with_newline(context.config)); } result.push(')'); } -- 2.44.0