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 +{ +}