rust-lang / rust-lang/rustfmt

Rustfmt generates invalid code for associated type bounds with where-clause and comments

Open
#6,761 2 comments 0 reactions 1 assignee View on GitHub

@saberoueslati is already working on this.

Since Aug 4, 2026.

A-comments
Dominant language
Rust
Stars
7k
Forks
1.1k
Avg merge
2d 13h
Merged PRs (30d)
24

Description

Input (Playground):

pub trait Trait {
    type I: Iterator<
        // This is an item
        Item = Self,
    >
    where
        Self: Copy;
}

Expected: rustfmt produces the same code as input.

Output: rustfmt produces the following invalid code

pub trait Trait {
    type I: Iterator<
        // This is an item
        Item = Self,
    >
    : Iterator<
    // This is an item
    Item = Self,
    >
    where
        Self: Copy;
}

Version

$ rustfmt --version
rustfmt 1.8.0-stable (ded5c06cf2 2025-12-08)

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.