rustc: implement argsfiles for command line
Many tools, such as gcc and gnu-ld, support "args files" - that is, being able to specify @file on the command line. This causes `file` to be opened and parsed for command line options. They're separated with whitespace; whitespace can be quoted with double or single quotes, and everything can be \\-escaped. Args files may recursively include other args files via `@file2`.
See https://sourceware.org/binutils/docs/ld/Options.html#Options for the documentation of gnu-ld's @file parameters.
This is useful for very large command lines, or when command lines are being generated into files by other tooling.
Run Clippy without json-rendered flag
Removed in https://github.com/rust-lang/rust/pull/62766
Replacing it with `--json=diagnostic-rendered-ansi` fails:
```
error: using `--json` requires also using `--error-format=json`
```
Running `./x.py clippy src/libstd` locally works fine (with colors) on Linux so I don't know if there is something to fix.
Improve diagnostics: break/continue in wrong context
- Fix#63712
- Use `` `break` `` or `` `continue` `` instead of always `break` in `cannot _...`
- Show the enclosing closure or async block we're talking about
- `` `break` outside of loop `` -> `` `break` outside of a loop `` for consistency
r? @estebank
take into account the system theme
Fixes#61079.
The CSS can now take into account the system theme. I used it to generate some content on the document and from there, if no theme has already been selected, it'll look at the system level theme.
r? @QuietMisdreavus
cc @fenhl
Rollup of 7 pull requests
Successful merges:
- #63721 (Do not emit JSON dumps of diagnostic codes)
- #63753 (Bump toml dependency.)
- #63755 (Use dedicated type for spans in pre-expansion gating.)
- #63759 (Allow 'default async fn' to parse.)
- #63760 (Update books)
- #63762 (`async_await` was stabilized in 1.39.0, not 1.38.0.)
- #63766 (Remove some duplication when resolving constants)
Failed merges:
r? @ghost