Don't format tests/run-make/*/rmake.rs.

It's reasonable to want to, but in the current implementation this
causes multiple problems.

- All the `rmake.rs` files are formatted every time even when they
  haven't changed. This is because they get whitelisted unconditionally
  in the `OverrideBuilder`, before the changed files get added.

- The way `OverrideBuilder` works, if any files gets whitelisted then no
  unmentioned files will get traversed. This is surprising, and means
  that the `rmake.rs` entries broke the use of explicit paths to `x
  fmt`, and also broke `GITHUB_ACTIONS=true git check --fmt`.

The commit removes the `rmake.rs` entries, fixes the formatting of a
couple of files that were misformatted (not previously caught due to the
`GITHUB_ACTIONS` breakage), and bans `!`-prefixed entries in
`rustfmt.toml` because they cause all these problems.
This commit is contained in:
Nicholas Nethercote 2024-05-28 10:03:00 +10:00
parent 4702a1c345
commit f1b0ca08a4
5 changed files with 16 additions and 21 deletions

View file

@ -3,7 +3,7 @@ version = "Two"
use_small_heuristics = "Max"
merge_derives = false
# Files to ignore. Each entry uses gitignore syntax.
# Files to ignore. Each entry uses gitignore syntax, but `!` prefixes aren't allowed.
ignore = [
"/build/",
"/*-build/",
@ -12,13 +12,7 @@ ignore = [
# Tests for now are not formatted, as they are sometimes pretty-printing constrained
# (and generally rustfmt can move around comments in UI-testing incompatible ways).
"/tests/*",
# But we still want to format rmake.rs files in tests/run-make/ so we need to do this
# dance to avoid the parent directory from being excluded.
"!/tests/run-make/",
"/tests/run-make/*/*.rs",
"!/tests/run-make/*/rmake.rs",
"/tests/",
# Do not format submodules.
# FIXME: sync submodule list with tidy/bootstrap/etc