The tree does not format under the installed rustfmt, so every change carries churn it did not make #118
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
rustfmt 1.9.0-stable (8bab26f4f6, 2026-07-14) reformats 58 places on
mainata3cbc04, in files nothing recent has touched:cargo fmt --checktherefore fails on a clean checkout, which costs something specific: anyone who runscargo fmtwhile making an unrelated change commits a diff that is mostly somebody else`'s lines. It was hit for real while implementing #112 — the churn had to be reverted by hand to keep the commit honest.The tree was formatted by an older rustfmt and the toolchain has moved. Two ways out:
rust-toolchain.toml, or therustfmt.tomloptions that make 1.9 agree with what is committed — if the current formatting is deliberate.Either is fine; drifting is not, because it makes every future diff dirtier than it is.
How to know it is done
cargo fmt --checkexits zero on a clean checkout with the toolchain the project expects, and it stays that way — which probably means saying somewhere which toolchain that is.The eleven paths in the evidence block above are left as they were on purpose: they
record what reformatted at
a3cbc04, and rewriting them to where those files live todaywould turn a measurement into a claim about a tree that was never measured. Four of them
have since moved or been split —
crates/jellyfin-app/src/tasks.rsis nowadmin/tasks.rs,routes/images.rsis nowlibrary/images/,routes/system.rsis nowadmin/system.rs, andcrates/jellyfin-core/src/localization.rsis where it was.Two things about the current state, neither of which closes this:
cargo fmt --all --checkexits zero onmaintoday (rustfmt 1.9.0-stable8bab26f4f6, the same build this issue names). The 58 places were absorbed by the fmtruns that rode along with the cleanup commits since
a3cbc04— which is precisely thefailure mode described here, just spread across other people's commits instead of one
honest reformat.
rust-toolchain.tomland norustfmt.toml. So the first half of "how to know it is done" holds by accident and thesecond half — and it stays that way — does not hold at all. The next rustfmt release
reopens this exactly as before.
What is left of this issue is therefore the pin, not the reformat.
Ran
cargo fmt --allonmainat1f89431: no diff.cargo fmt --all --checkexitszero under rustfmt 1.9.0-stable (
8bab26f4f6), the build this issue measured, so there isno reformat left to commit — the 58 places were absorbed by the fmt runs that rode along
with the cleanup commits after
a3cbc04.Closing on the first half of "how to know it is done". The second half is not met and is
not fixed by formatting: there is still no
rust-toolchain.tomland norustfmt.toml, sonothing says which formatter the tree is formatted by, and the next rustfmt release
reopens this the same way. That is a one-file change and belongs in its own issue rather
than keeping this one open.
The other half is done too, so this is now closed on both halves rather than one.
87c0560addsrust-toolchain.tomlpinning 1.97.1 — the version the tree alreadyformats clean under (
rustfmt 1.9.0-stable,8bab26f4f6) — withrustfmtandclippyas components so a fresh checkout has both.
rustupreads it on its own, socargo fmtandcargo clippynow run under a named version rather than whateverstablehappens to be that week, and the README's build section says so for a human.Verified under the pin:
cargo fmt --all --checkexits zero,cargo clippy --workspace --all-targetsis silent,cargo nextest run --workspaceis 2256/2256.Moving the pin is deliberately its own commit, with whatever reformat it causes — which
is the "one honest reformat" this issue asked for, applied to every future toolchain bump
instead of just this one.