Skip to content

rustfmt breaks code when it encounters a doc comment (#[doc]) inside a macro #1178

Closed
@japaric

Description

@japaric

It turns this

macro_rules! foo {
    (#[$attr:meta] $name:ident) => {}
}

foo!(#[doc = "bar"] baz);

fn main() {}

into this

macro_rules! foo {
    (#[$attr:meta] $name:ident) => {}
}

foo!(// #[doc = "bar"]
     baz);

fn main() {}

which no longer compiles:

$ rustc foo.rs
error: no rules expected the token `baz`
 --> foo.rs:6:6
  |
6 |      baz);
  |      ^^^

Meta

$ rustfmt -V
0.6.2 (17c5d38)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugPanic, non-idempotency, invalid code, etc.poor-formatting

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions