rust-lang / rust-lang/rustfmt

Whitespaces in path to macro inside derive block

Open
#6,343 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-derive-macro-attributes C-bug I-poor-formatting
Dominant language
Rust
Stars
7k
Forks
1.1k
Avg merge
2d 13h
Merged PRs (30d)
24

Description

"cargo fmt" command does not remove white spaces in derive block. For example i expected this

#[derive(serde :: Serialize)]
enum Something {
    Variant
}

to become this

#[derive(serde::Serialize)]
enum Something {
    Variant
}

cannot find anything similar in https://rust-lang.github.io/rustfmt/?version=master&search=
tried to find by words "space" or "derive"
(default config)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the example with the cargo fmt command using the default configuration. Investigate how rustfmt handles paths inside derive blocks; done means whitespace around the path separator is formatted from serde :: Serialize to serde::Serialize without changing the surrounding enum.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.