diff --git a/rustfmt-core/src/items.rs b/rustfmt-core/src/items.rs index 6ef3ab2904a7..11568278e1d5 100644 --- a/rustfmt-core/src/items.rs +++ b/rustfmt-core/src/items.rs @@ -1204,7 +1204,7 @@ pub fn format_struct_struct( )?; if !items_str.contains('\n') && !result.contains('\n') && items_str.len() <= one_line_budget - && !contains_comment(&items_str) + && !last_line_contains_single_line_comment(&items_str) { Some(format!("{} {} }}", result, items_str)) } else { diff --git a/rustfmt-core/tests/source/issue-2446.rs b/rustfmt-core/tests/source/issue-2446.rs index a5566b79591d..ad649d95c549 100644 --- a/rustfmt-core/tests/source/issue-2446.rs +++ b/rustfmt-core/tests/source/issue-2446.rs @@ -3,3 +3,9 @@ enum Issue2446 { f: u8, // x }, } + +enum Issue2446TrailingCommentsOnly { + V { + f: u8, /* */ + } +} diff --git a/rustfmt-core/tests/target/issue-2446.rs b/rustfmt-core/tests/target/issue-2446.rs index a5566b79591d..be62e9c9c311 100644 --- a/rustfmt-core/tests/target/issue-2446.rs +++ b/rustfmt-core/tests/target/issue-2446.rs @@ -3,3 +3,7 @@ enum Issue2446 { f: u8, // x }, } + +enum Issue2446TrailingCommentsOnly { + V { f: u8 /* */ }, +}