From 16a0241e3614b563aaa470607c33538947b92e32 Mon Sep 17 00:00:00 2001 From: CPunisher <1343316114@qq.com> Date: Sat, 28 Jun 2025 23:12:35 +0800 Subject: [PATCH 1/3] Fix --- src/items.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/items.rs b/src/items.rs index 0e814644304..f9617acb53a 100644 --- a/src/items.rs +++ b/src/items.rs @@ -2342,7 +2342,14 @@ impl Rewrite for ast::Param { Ok(result) } else { - self.ty.rewrite_result(context, shape) + combine_strs_with_missing_comments( + context, + ¶m_attrs_result, + &self.ty.rewrite_result(context, shape)?, + span, + shape, + !has_multiple_attr_lines && !has_doc_comments, + ) } } } From 678a5e44f360dcd0f7a0298846cffc1bef7d2559 Mon Sep 17 00:00:00 2001 From: CPunisher <1343316114@qq.com> Date: Sat, 28 Jun 2025 23:12:43 +0800 Subject: [PATCH 2/3] Add variadic test --- tests/source/issue-6561/variadic.rs | 5 +++++ tests/target/issue-6561/variadic.rs | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 tests/source/issue-6561/variadic.rs create mode 100644 tests/target/issue-6561/variadic.rs diff --git a/tests/source/issue-6561/variadic.rs b/tests/source/issue-6561/variadic.rs new file mode 100644 index 00000000000..6108d584d30 --- /dev/null +++ b/tests/source/issue-6561/variadic.rs @@ -0,0 +1,5 @@ +#[allow()] +unsafe extern "C" { + #[allow()] + pub fn foo(#[allow()] arg: *mut u8, #[allow()]...); +} \ No newline at end of file diff --git a/tests/target/issue-6561/variadic.rs b/tests/target/issue-6561/variadic.rs new file mode 100644 index 00000000000..bf5274f31e1 --- /dev/null +++ b/tests/target/issue-6561/variadic.rs @@ -0,0 +1,5 @@ +#[allow()] +unsafe extern "C" { + #[allow()] + pub fn foo(#[allow()] arg: *mut u8, #[allow()] ...); +} From 679c971581966b62c4d08d15363d9623b8f111f4 Mon Sep 17 00:00:00 2001 From: CPunisher <1343316114@qq.com> Date: Sat, 28 Jun 2025 23:17:40 +0800 Subject: [PATCH 3/3] Add trait fn tests --- tests/source/issue-6561/trait-fn.rs | 6 ++++++ tests/target/issue-6561/trait-fn.rs | 6 ++++++ 2 files changed, 12 insertions(+) create mode 100644 tests/source/issue-6561/trait-fn.rs create mode 100644 tests/target/issue-6561/trait-fn.rs diff --git a/tests/source/issue-6561/trait-fn.rs b/tests/source/issue-6561/trait-fn.rs new file mode 100644 index 00000000000..f88c69dadda --- /dev/null +++ b/tests/source/issue-6561/trait-fn.rs @@ -0,0 +1,6 @@ +// rustfmt-edition: 2015 + +trait A { + fn f1(#[allow()] u32); + fn f2(#[allow()] u32, #[allow()] u32); +} \ No newline at end of file diff --git a/tests/target/issue-6561/trait-fn.rs b/tests/target/issue-6561/trait-fn.rs new file mode 100644 index 00000000000..a30396be561 --- /dev/null +++ b/tests/target/issue-6561/trait-fn.rs @@ -0,0 +1,6 @@ +// rustfmt-edition: 2015 + +trait A { + fn f1(#[allow()] u32); + fn f2(#[allow()] u32, #[allow()] u32); +}