Commit Graph

2376 Commits

Author SHA1 Message Date
Matthias Krüger 3dcb2ad5d9
Rollup merge of #135950 - Kobzol:tidy-python-improvements, r=onur-ozkan
Tidy Python improvements

Fixes display of Python formatting diffs in tidy, and refactors the code to make it simpler and more robust. Also documents Python formatting and linting in the Rustc dev guide.

Fixes: https://github.com/rust-lang/rust/issues/135942

r? `@onur-ozkan`
2025-01-24 16:25:44 +01:00
Matthias Krüger 2b37fbe050
Rollup merge of #135926 - jieyouxu:needs-subprocess-thread, r=oli-obk
Implement `needs-subprocess` directive, and cleanup a bunch of tests to use `needs-{subprocess,threads}`

### Summary

Closes #128295.

- Implements `//@ needs-subprocess` directive in compiletest as requested in #128295. However, compiletest is a host tool, so we can't just try to spawn process because that spawns the process on *host*, not the *target*, under cross-compilation scenarios.
    - The short-term solution is to add *Yet Another* list of allow-list targets.
    - The long-term solution is to first check if a `$target` supports std, then try to run a binary to do run-time capability detection *on the target*. But that is tricky because you have to build-and-run a binary *for the target*.
    - This PR picks the short-term solution, because the long-term solution is highly non-trivial, and it's already an improvement over individual `ignore-*`s all over the place.
    - Opened an issue about the long-term solution in #135928.
- Documents `//@ needs-subprocess` in rustc-dev-guide.
- Replace `ignore-{wasm,wasm32,emscripten,sgx}` with `needs-{subprocess,threads}` where suitable in tests.
- Some drive-by test changes as I was trying to figure out if I could use `needs-{subprocess,threads}` and found some bits needlessly distracting.

Count of tests that use `ignore-{wasm,wasm32,emscripten,sgx}` before and after this PR:

| State | `ignore-sgx` | `ignore-wasm` | `ignore-emscripten` |
| - | - | - | - |
| Before this PR | 96 | 88 | 207 |
| After this PR | 36 | 38 | 61 |

<details>
<summary>Commands used to find out locally</summary>

```
--- before

[17:40] Joe:rust (fresh) | rg --no-ignore -l "ignore-sgx" tests | wc -l
96
[17:40] Joe:rust (fresh) | rg --no-ignore -l "ignore-wasm" tests | wc -l
88
[17:40] Joe:rust (fresh) | rg --no-ignore -l "ignore-emscripten" tests | wc -l
207

--- after

[17:39] Joe:rust (needs-subprocess-thread) | rg --no-ignore -l "ignore-sgx" tests | wc -l
36
[17:39] Joe:rust (needs-subprocess-thread) | rg --no-ignore -l "ignore-wasm" tests | wc -l
38
[17:39] Joe:rust (needs-subprocess-thread) | rg --no-ignore -l "ignore-emscripten" tests | wc -l
61
```
</details>

### Review advice

- Best reviewed commit-by-commit.
- Non-trivial test changes (not mechanically simple replacements) are split into individual commits to help with review. Their individual commit messages give some basic description of the changes.
- I *could* split some test changes out into another PR, but I found that I needed to change some tests to `needs-threads`, some to `needs-subprocess`, and some needed to use *both*, so they might conflict and become very annoying.

---

r? ``@ghost`` (need to run try jobs)

try-job: x86_64-msvc-1
try-job: i686-msvc-1
try-job: i686-mingw
try-job: x86_64-mingw-1
try-job: x86_64-apple-1
try-job: aarch64-apple
try-job: aarch64-gnu
try-job: test-various
try-job: armhf-gnu
2025-01-24 16:25:43 +01:00
Jakub Beránek 80aac13e78
Document Python formatting and linting in the rustc-dev-guide 2025-01-24 09:35:46 +01:00
Matthias Krüger 74962603cb
Rollup merge of #135489 - RalfJung:TryFromSliceError, r=tgross35
remove pointless allowed_through_unstable_modules on TryFromSliceError

This got added in https://github.com/rust-lang/rust/pull/132482 but the PR does not explain why. `@lukas-code` do you still remember? Also Cc `@Noratrieb` as reviewer of that PR.

If I understand the issue description correctly, all paths under which this type is exported are stable now: `core::array::TryFromSliceError` and `std::array::TryFromSliceError`. If that is the case, we shouldn't have the attribute; it's a terrible hack that should only be used when needed to maintain backward compatibility. Getting some historic information right is IMO *not* sufficient justification to risk accidentally exposing this type via more unstable paths today or in the future.
2025-01-24 08:08:06 +01:00
Matthias Krüger 520ca6b0da
Rollup merge of #135880 - bjorn3:misc_driver_refactors, r=oli-obk
Get rid of RunCompiler

The various `set_*` methods that have been removed can be replaced by setting the respective fields in the `Callbacks::config` implementation. `set_using_internal_features` was often forgotten and it's equivalent is now done automatically.
2025-01-23 19:54:26 +01:00
许杰友 Jieyou Xu (Joe) 0f175948cd rustc-dev-guide: document `needs-subprocess` directive 2025-01-23 20:51:28 +08:00
bjorn3 76f7584f6a Remove RunCompiler
It has become nothing other than a wrapper around run_compiler.
2025-01-23 09:38:58 +00:00
Jakub Beránek 3543f80951
Add test for checking used glibc symbols 2025-01-21 10:20:24 +01:00
Noratrieb 166fa3b79e Fix dev guide docs for error-pattern
I know it would have made more sense to make this PR to the dev guide
repo but I had already made the fix before I realized that.
2025-01-19 11:36:41 +01:00
Ralf Jung 1cd70aaa2c rustc-dev-guide: add note about not adding rustc_allowed_through_unstable_modules to more items 2025-01-14 17:00:12 +01:00
许杰友 Jieyou Xu (Joe) a58b85a26c rustc-dev-guide: document `BOOTSTRAP_TRACING` and bootstrap `tracing` setup 2025-01-13 13:46:20 +08:00
onur-ozkan eecd68cf55 rustc-dev-guide: update outdated LLVM stamp filename
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-12 08:47:57 +03:00
Jakub Beránek 280d73878a Update rustc-dev-guide 2025-01-07 19:10:03 +01:00
Boxy 885fd79971 Split stuff out of representing types, and rewrite early/late bound chapter (#2192) 2025-01-05 17:51:45 +01:00
Stuart Cook bb71c99918 Describe how to use rust-analyzer with `rmake.rs` (#2191) 2025-01-05 17:51:45 +01:00
Tshepang Mbambo 027bbb345c fix comment 2025-01-05 17:51:45 +01:00
Tshepang Mbambo b3b1d09278 make paragraph more readable 2025-01-05 17:51:45 +01:00
Tshepang Mbambo 7dbf25b2f8 repetition not needed 2025-01-05 17:51:45 +01:00
Jakub Beránek eb70681870 Document josh subtrees and update subtree repository list (#2182) 2025-01-05 17:51:45 +01:00
Onur Özkan 63548be44e comment out FIXMEs to not display them on UI (#2186) 2025-01-05 17:51:45 +01:00
Max Heller 08b4cd8efc Use `id` attribute for `<a>` tags instead of deprecated `name` attribute (#2184) 2024-12-31 22:02:50 +08:00
Stuart Cook 6637742182 Remove stale implementation details of coverage instrumentation (#2179)
This level of detail in the dev guide is a maintenance burden; better to leave
this sort of thing to in-tree comments.
2024-12-30 12:02:52 +11:00
Martin Liška ddff18e30a Add missing link for [Node] (#2177) 2024-12-30 04:34:34 +08:00
Martin Liška ecad0213d7 Fix 403 received for HEAD request (#2176) 2024-12-30 04:33:45 +08:00
clubby789 5f32a38a3d Document `x test --no-capture` (#2174) 2024-12-28 19:55:20 +08:00
Stuart Cook 9b22375c78 Remove the `-test` suffix from normalize directives (#2172) 2024-12-28 17:32:43 +08:00
bjorn3 e70f551db6 Rework the driver docs (#2162) 2024-12-27 20:40:32 +08:00
clubby789 4e746875ed Document `forbid-output` for UI tests (#2171) 2024-12-27 12:21:52 +00:00
clubby789 b746f63983 completions: Zsh is now supported (#2173) 2024-12-27 09:03:10 +08:00
lcnr 6af30f87b7 region-outlives propagation (#2169)
* region-outlives propagation

* woops

* gamer
2024-12-23 10:17:51 +01:00
clubby789 a49028cf1e Document the `--debugger` flag (#2170) 2024-12-23 08:43:28 +00:00
Marco Ieni b5529ca9ba document the public ci dashboard (#2167) 2024-12-18 19:53:17 +08:00
Chris Bloodsworth 6afff2e610 Fix trivial typo of "query-fied"
"Query-field" should be "Query-fied" - three instances.
2024-12-18 08:01:33 +02:00
Tshepang Mbambo ee9a5845e0 typo, pause 2024-12-18 07:56:30 +02:00
Ryan Mehri 421c7282e1 Fix some typos 2024-12-18 07:56:30 +02:00
Eric Huss 766fbbbe3d Add suggestion for `--keep-stage 0` (#2164) 2024-12-18 01:00:38 +08:00
Connor Tsui 8e495d4b93 specify what a CGU is (#2163) 2024-12-16 15:12:01 +08:00
Tshepang Mbambo 1f2c5e10ff functionality removed from codebase (part 2) (#2160) 2024-12-10 22:27:37 +08:00
Tshepang Mbambo 8f3bf55222 functionality removed from codebase (#2159) 2024-12-10 22:11:11 +08:00
Orion Gonzalez 3ca330e1c3 remove polymorphization 2024-12-10 13:29:13 +00:00
Ralf Jung fcadf9608b squashing: recommend --keep-base when squashing without a conflict (#2157) 2024-12-07 06:59:23 +08:00
lcnr 1f851c0fc5 update section even more (#2156) 2024-12-05 20:30:36 +08:00
lcnr fccf752c1c closure constraints (#2155) 2024-12-05 12:01:46 +01:00
许杰友 Jieyou Xu (Joe) 740947ed6d Remove `//@ compare-output-lines-by-subset` directive (#2151) 2024-12-05 13:02:11 +08:00
许杰友 Jieyou Xu (Joe) df234c0f0e Document `needs-target-has-atomic` directive (#2154) 2024-12-05 13:01:46 +08:00
许杰友 Jieyou Xu (Joe) 8df3580d08 Spell out `git submodule deinit -f --all` (#2153) 2024-12-02 12:45:30 +08:00
许杰友 Jieyou Xu (Joe) 54c6a86858 Explain how to deal with exploded git submodules (#2152) 2024-12-02 12:38:56 +08:00
许杰友 Jieyou Xu (Joe) 67054cce92 Update `//@ proc-macro` aux build directive docs (#2149)
Co-authored-by: Eric Huss <eric@huss.org>
2024-11-29 13:01:15 +08:00
许杰友 Jieyou Xu (Joe) 65a59a3398 Remove `pretty-expanded` as it no longer exists (#2147) 2024-11-28 09:27:28 +08:00
Keith Wansbrough 8d9b40183e Fix trivial typo
"And" should be "An" - one instance.
2024-11-27 18:31:18 -05:00