Skip to content

Commit 677446e

Browse files
committed
Merge fn_empty_single_line and impl_empty_single_line into empty_item_single_line
1 parent 9a33255 commit 677446e

15 files changed

+71
-97
lines changed

Configurations.md

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -874,10 +874,9 @@ struct Dolor<T>
874874
```
875875

876876

877+
## `empty_item_single_line`
877878

878-
## `fn_empty_single_line`
879-
880-
Put empty-body functions on a single line
879+
Put empty-body functions and impls on a single line
881880

882881
- **Default value**: `true`
883882
- **Possible values**: `true`, `false`
@@ -886,16 +885,21 @@ Put empty-body functions on a single line
886885

887886
```rust
888887
fn lorem() {}
888+
889+
impl Lorem {}
889890
```
890891

891892
#### `false`:
892893

893894
```rust
894895
fn lorem() {
895896
}
897+
898+
impl Lorem {
899+
}
896900
```
897901

898-
See also [`control_brace_style`](#control_brace_style).
902+
See also [`brace_style`](#brace_style), [`control_brace_style`](#control_brace_style).
899903

900904

901905
## `fn_single_line`
@@ -1004,28 +1008,6 @@ fn lorem() -> usize {
10041008

10051009
See also: [`tab_spaces`](#tab_spaces).
10061010

1007-
## `impl_empty_single_line`
1008-
1009-
Put empty-body implementations on a single line
1010-
1011-
- **Default value**: `true`
1012-
- **Possible values**: `true`, `false`
1013-
1014-
#### `true` (default):
1015-
1016-
```rust
1017-
impl Lorem {}
1018-
```
1019-
1020-
#### `false`:
1021-
1022-
```rust
1023-
impl Lorem {
1024-
}
1025-
```
1026-
1027-
See also [`brace_style`](#brace_style).
1028-
10291011

10301012
## `imports_indent`
10311013

src/config.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -599,10 +599,10 @@ create_config! {
599599
normalize_comments: bool, false, true, "Convert /* */ comments to // comments where possible";
600600

601601
// Single line expressions and items.
602+
empty_item_single_line: bool, true, false,
603+
"Put empty-body functions and impls on a single line";
602604
struct_lit_single_line: bool, true, false,
603605
"Put small struct literals on a single line";
604-
impl_empty_single_line: bool, true, false, "Put empty-body implementations on a single line";
605-
fn_empty_single_line: bool, true, false, "Put empty-body functions on a single line";
606606
fn_single_line: bool, false, false, "Put single-expression functions on a single line";
607607
where_single_line: bool, false, false, "To force single line where layout";
608608

src/items.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ impl<'a> FmtVisitor<'a> {
366366

367367
let codemap = self.get_context().codemap;
368368

369-
if self.config.fn_empty_single_line() && is_empty_block(block, codemap)
369+
if self.config.empty_item_single_line() && is_empty_block(block, codemap)
370370
&& self.block_indent.width() + fn_str.len() + 2 <= self.config.max_width()
371371
{
372372
return Some(format!("{}{{}}", fn_str));
@@ -705,7 +705,7 @@ fn is_impl_single_line(
705705
let open_pos = snippet.find_uncommented("{")? + 1;
706706

707707
Some(
708-
context.config.impl_empty_single_line() && items.is_empty() && !result.contains('\n')
708+
context.config.empty_item_single_line() && items.is_empty() && !result.contains('\n')
709709
&& result.len() + where_clause_str.len() <= context.config.max_width()
710710
&& !contains_comment(&snippet[open_pos..]),
711711
)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// rustfmt-empty_item_single_line: false
2+
// Empty impl on single line
3+
4+
impl Lorem {
5+
6+
}
7+
8+
impl Ipsum {
9+
10+
}
11+
12+
fn lorem() {
13+
}
14+
15+
fn lorem() {
16+
17+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// rustfmt-empty_item_single_line: true
2+
// Empty impl on single line
3+
4+
impl Lorem {
5+
6+
}
7+
8+
impl Ipsum {
9+
10+
}
11+
12+
fn lorem() {
13+
}
14+
15+
fn lorem() {
16+
17+
}

tests/source/configs-fn_empty_single_line-false.rs

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/source/configs-fn_empty_single_line-true.rs

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/source/configs-impl_empty_single_line-false.rs

Lines changed: 0 additions & 10 deletions
This file was deleted.

tests/source/configs-impl_empty_single_line-true.rs

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// rustfmt-empty_item_single_line: false
2+
// Empty impl on single line
3+
4+
impl Lorem {
5+
}
6+
7+
impl Ipsum {
8+
}
9+
10+
fn lorem() {
11+
}
12+
13+
fn lorem() {
14+
15+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// rustfmt-empty_item_single_line: true
2+
// Empty impl on single line
3+
4+
impl Lorem {}
5+
6+
impl Ipsum {}
7+
8+
fn lorem() {}
9+
10+
fn lorem() {}

tests/target/configs-fn_empty_single_line-false.rs

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/target/configs-fn_empty_single_line-true.rs

Lines changed: 0 additions & 6 deletions
This file was deleted.

tests/target/configs-impl_empty_single_line-false.rs

Lines changed: 0 additions & 8 deletions
This file was deleted.

tests/target/configs-impl_empty_single_line-true.rs

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)