From c92064c30acfd9748670c9d2d46525ef18bc8d1c Mon Sep 17 00:00:00 2001 From: topecongiro Date: Fri, 9 Jun 2017 16:15:31 +0900 Subject: [PATCH] Force brace on new line if the signature ends with comment --- src/items.rs | 8 +++++++- tests/target/comments-fn.rs | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/items.rs b/src/items.rs index bbbe75ddf780..ac2f36ad76a0 100644 --- a/src/items.rs +++ b/src/items.rs @@ -1871,6 +1871,7 @@ fn rewrite_fn_base(context: &RewriteContext, result.push_str(&where_clause_str); + force_new_line_for_brace |= last_line_contains_single_line_comment(&result); return Some((result, force_new_line_for_brace)); } } @@ -1888,7 +1889,12 @@ fn rewrite_fn_base(context: &RewriteContext, result.push_str(&where_clause_str); - Some((result, force_new_line_for_brace)) + force_new_line_for_brace |= last_line_contains_single_line_comment(&result); + return Some((result, force_new_line_for_brace)); +} + +fn last_line_contains_single_line_comment(s: &str) -> bool { + s.lines().last().map_or(false, |l| l.contains("//")) } fn rewrite_args(context: &RewriteContext, diff --git a/tests/target/comments-fn.rs b/tests/target/comments-fn.rs index fa607e131eaa..87b32f2915d9 100644 --- a/tests/target/comments-fn.rs +++ b/tests/target/comments-fn.rs @@ -19,3 +19,7 @@ fn foo(a: aaaaaaaaaaaaa, // A comment fn bar() {} fn baz() -> Baz /* Comment after return type */ {} + +fn some_fn() where T: Eq // some comment +{ +}