Skip to content

rustfmt strips all param attrs #3819

@bbqsrc

Description

@bbqsrc

To reproduce: get this repo, https://github.com/bbqsrc/params-attribute-example, run cargo fmt, then git diff.

diff --git a/proc-macro-tests/rename_params.rs b/proc-macro-tests/rename_params.rs
index 23f3e59..b70730c 100644
--- a/proc-macro-tests/rename_params.rs
+++ b/proc-macro-tests/rename_params.rs
@@ -2,11 +2,11 @@
 use params_attribute_example::rename_params;

 #[rename_params(send_help)]
-fn hello(#[angery(true)] a: i32, #[a2] b: i32, #[what = "how"] c: u32) {}
+fn hello(a: i32, b: i32, c: u32) {}

 #[rename_params(send_help)]
 impl Foo {
-  fn hello(#[angery(true)] a: i32, #[a2] b: i32, #[what = "how"] c: u32) {}
-  fn hello2(#[a1] #[a2] a: i32, #[what = "how"] b: i32, #[angery(true)] c: u32) {}
-  fn hello_self(#[a1] #[a2] &self, #[a1] #[a2] a: i32, #[what = "how"] b: i32, #[angery(true)]c: u32) {}
-}
\ No newline at end of file
+    fn hello(a: i32, b: i32, c: u32) {}
+    fn hello2(a: i32, b: i32, c: u32) {}
+    fn hello_self(&self, a: i32, b: i32, c: u32) {}
+}

It consumes all. :)

$ cargo fmt --version
rustfmt 1.4.8-nightly (afb1ee1c 2019-09-08)

This may be related to: rust-lang/rust#64682, but may simply be that rustfmt hasn't caught up with rust-lang/rust#64010 yet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions