rustfmt can't handle non-UTF-8 input paths
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
- 70/100
Direzione di ricerca
Il rapporto indica src/bin/main.rs intorno alla riga 235. Inizia tracciando il modo in cui rustfmt legge i percorsi di input in quel punto e confrontalo con lo script di riproduzione che usa un nome di file non UTF-8. Il lavoro è completo quando rustfmt gestisce questo input senza andare in panic; usa lo script Python fornito per riprodurre il problema e verificare il risultato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The rustfmt command panics when it encounters an input path which is not valid UTF-8. See https://github.com/rust-lang/rust/issues/164585 for the same issue in rustc.
To reproduce the issue, I ran the following python script, which runs rustfmt with a non-UTF-8 input file name:
import shutil
import subprocess
p = subprocess.run([shutil.which("rustfmt"), bytes([255])], check=False)
print(p)
The output I got was:
thread 'main' (204054) panicked at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/env.rs:878:51:
called `Result::unwrap()` on an `Err` value: "\xFF"
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
CompletedProcess(args=['/opt/homebrew/opt/rustup/bin/rustfmt', b'\xff'], returncode=101)
Probably relevant code: https://github.com/rust-lang/rustfmt/blob/97738dfd687ab9d35338fbceb5def4506c7c4d3b/src/bin/main.rs#L235
Meta
rustfmt --version:
rustfmt 1.10.0-stable (58cf8f9c35 2026-10-13)
- 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-imports C-bug E-hard I-non-idempotency X-impacts-stable-default-format
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
rust-lang/rustfmt#7173 · 1 commento ·
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
-
checkpoint/verify/rebuild_indexes on a thread holding a WriteTransaction deadlock instead of INT-001Apertabug known-issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
project-minigraf/minigraf#734 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
bitcoindevkit/electrum_streaming_client#57 ·
I maintainer di solito rispondono entro 2 giorni