diff --git a/src/items.rs b/src/items.rs index 46abe086717..a7ba48776d6 100644 --- a/src/items.rs +++ b/src/items.rs @@ -755,11 +755,10 @@ pub fn format_impl( result.push_str(&inner_indent_str); result.push_str(visitor.buffer.to_string().trim()); result.push_str(&outer_indent_str); - } - - if result.ends_with('{') && !context.config.empty_item_single_line() { + } else if need_newline || !context.config.empty_item_single_line() { result.push_str(&sep); } + result.push('}'); Some(result) diff --git a/tests/target/big-impl-block.rs b/tests/target/big-impl-block.rs index fbf1757c635..e3728caba3f 100644 --- a/tests/target/big-impl-block.rs +++ b/tests/target/big-impl-block.rs @@ -78,4 +78,5 @@ where S: event::Stream, F: for<'t> FnMut(transform::Api<'t, Stream>>) -> transform::Api<'t, X>, X: event::Stream, -{} +{ +} diff --git a/tests/target/impls.rs b/tests/target/impls.rs index 390f1a12cd3..0777a7ed249 100644 --- a/tests/target/impls.rs +++ b/tests/target/impls.rs @@ -134,11 +134,13 @@ mod m { impl Handle, HandleType> -{} +{ +} impl PartialEq for Handle, HandleType> -{} +{ +} mod x { impl Foo @@ -147,7 +149,8 @@ mod x { B: 'static, C: 'static, D: 'static, - {} + { + } } impl @@ -229,4 +232,5 @@ impl<'seq1, 'seq2, 'body, 'scope, Channel> > where Channel: DmaChannel, -{} +{ +}