Nested empty use tree formatting is non-idempotent
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia leggendo come rustfmt gestisce gli alberi use annidati e i test di regressione per la formattazione degli import; l'issue non indica un file sorgente o un test specifico. Riproduci il problema con use std::sync::{Arc, atomic::{}}; usando le opzioni di formattazione stabili mostrate. Il lavoro è completato quando un passaggio di formattazione produce use std::sync::Arc; senza spazi bianchi aggiuntivi e una nuova formattazione lo lascia invariato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Not quite the same as https://github.com/rust-lang/rustfmt/issues/7140 since that issue is moreso about the interactions with unstable option. Extracted from the comment https://github.com/rust-lang/rustfmt/issues/7140#issuecomment-6098925992.
I tried to format this code:
use std::sync::{Arc, atomic::{}};
Expected behavior
I expected to see this happen: converges to a stable default format in a single pass (idempotent)
use std::sync::Arc;
Actual behavior
Instead, this happened: non-idempontent. Converges after 2 passes:
Pass 1
-use std::sync::{Arc, atomic::{}};
+use std::sync::{ Arc};
(Notice also the extra whitespace)
Pass 2
-use std::sync::{ Arc};
+use std::sync::Arc;
Configuration
Stable default format
rustfmt cli options used (if applicable):
rustfmt +stable foo.rs --config-path=/dev/null --style-edition=2024 --edition=2024
rustfmt configuration file (e.g. rustfmt.toml, if applicable): N/A
Reproduction Steps
See formatting passes above.
Meta
rustfmt --version:
rustfmt 1.10.0-stable (b940084d7e 2026-09-28)
Still broken on nightly.
- Lingua principale
- Rust
- Stelle
- 7k
- Fork
- 1.1k
- Merge medio
- 1g 18h
- PR unite (30g)
- 27
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rust-lang/rustfmt
-
A-Unicode C-bug P-low
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
rust-lang/rustfmt#7210 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
A-comments C-bug only-with-option UO-indent_style
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Fix `first_line_width` to be tab-awareForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaA-tabs A-whitespace C-bug SO-hard_tabs
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
C-feature-request P-low
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
rust-lang/rustfmt#7114 · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
`cfg_select!` formatting can eat commentsForse già presa @jieyouxu l’ha presa 1 giorno fa. ApertaA-cfg_select A-comments C-bug I-prioritize regression-from-nightly-to-nightly X-impacts-nightly-gated
rust-lang/rustfmt#7209 · 8 commenti · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di rust-lang/rustfmt
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
farion1231/cc-switch#8829 ·
I maintainer di solito rispondono entro 1 giorno
-
bug ci good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
longbridge/gpui-kit#3677 ·
I maintainer di solito rispondono entro 1 giorno
-
E-pr-welcome
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
seanmonstar/reqwest#3121 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
ilya-zlobintsev/LACT#1235 ·
I maintainer di solito rispondono entro 1 giorno