rustfmt icon indicating copy to clipboard operation
rustfmt copied to clipboard

rustfmt changes code between stable and beta

Open Manishearth opened this issue 2 weeks ago • 3 comments

With the following code:

fn main() {
    let arr = [
        ("en-001", "", "Hello from 🗺️"),  // WORLD
        ("en-002", "", "Hello from 🌍"), // AFRICA
    ];
}

playground

rustfmt considers it correctly formatted under Rust 1.79, but will remove the space before // WORLD under Rust 1.80-beta3 (and nightly)

This is caused by unicode-width 0.1.13, which changed the predicted widths of a lot of Unicode characters, including emoji. The new version is more accurate, but these changes have not been made in a way that guarantees any kind of stability. The issue I have filed asks for such an API.

In the meantime, should rust/rustfmt pin to 0.1.2?

Manishearth avatar Jun 20 '24 15:06 Manishearth