Commit Graph

2415 Commits

Author SHA1 Message Date
bors be693b567c Auto merge of #136350 - matthiaskrgr:rollup-6eqfyvh, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #134531 ([rustdoc] Add `--extract-doctests` command-line flag)
 - #135860 (Compiler: Finalize dyn compatibility renaming)
 - #135992 (Improve documentation when adding a new target)
 - #136194 (Support clobber_abi in BPF inline assembly)
 - #136325 (Delay a bug when indexing unsized slices)
 - #136326 (Replace our `LLVMRustDIBuilderRef` with LLVM-C's `LLVMDIBuilderRef`)
 - #136330 (Remove unnecessary hooks)
 - #136336 (Overhaul `rustc_middle::util`)
 - #136341 (Remove myself from vacation)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-01-31 20:16:46 +00:00
Matthias Krüger 30c56c6e2b
Rollup merge of #135992 - madsmtm:new-target-docs, r=jieyouxu
Improve documentation when adding a new target

https://github.com/rust-lang/rust/pull/133631#issuecomment-2607877936 shows that it can be a bit difficult process-wise to add a new target.

I've added a bit of text to the docs, suggesting that users add the target defintion/spec first, and later work on `std` support.

I also found that we have two places where we document how to add a new target. I've linked these for now, but they should probably be merged somehow in the future.

`@rustbot` label A-docs
r? compiler
CC `@workingjubilee` who's worked a lot on target specs IIRC.
2025-01-31 12:28:16 +01:00
bors fb72badc0b Auto merge of #136332 - jhpratt:rollup-aa69d0e, r=jhpratt
Rollup of 9 pull requests

Successful merges:

 - #132156 (When encountering unexpected closure return type, point at return type/expression)
 - #133429 (Autodiff Upstreaming - rustc_codegen_ssa, rustc_middle)
 - #136281 (`rustc_hir_analysis` cleanups)
 - #136297 (Fix a typo in profile-guided-optimization.md)
 - #136300 (atomic: extend compare_and_swap migration docs)
 - #136310 (normalize `*.long-type.txt` paths for compare-mode tests)
 - #136312 (Disable `overflow_delimited_expr` in edition 2024)
 - #136313 (Filter out RPITITs when suggesting unconstrained assoc type on too many generics)
 - #136323 (Fix a typo in conventions.md)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-01-31 09:42:28 +00:00
Ryan Cumming 55cd18d5cc
Fix a typo in conventions.md
Introduced in #135950
2025-01-31 10:23:46 +11:00
Michael Goulet 0cd4069ee4 Rework rustc_dump_vtable 2025-01-30 15:30:04 +00:00
bors 9cefcea1ce Auto merge of #136038 - compiler-errors:outlives, r=lcnr
Simplify and consolidate the way we handle construct `OutlivesEnvironment` for lexical region resolution

This is best reviewed commit-by-commit. I tried to consolidate the API for lexical region resolution *first*, then change the API when it was finally behind a single surface.

r? lcnr or reassign
2025-01-30 11:40:32 +00:00
Boxy f61d56ba4d
Rustc pull 2025-01-29 16:46:09 +00:00
许杰友 Jieyou Xu (Joe) ea884accae
Merge pull request #2227 from Joren-vanGoethem/master 2025-01-29 05:03:36 +00:00
许杰友 Jieyou Xu (Joe) 5000a7027c
Merge pull request #2231 from yegeunyang/#2069 2025-01-29 05:02:55 +00:00
yegeunyang 2332c8e114 Touch up a sentence 2025-01-28 22:56:52 -06:00
许杰友 Jieyou Xu (Joe) ed1fc5d8e1
Merge pull request #2232 from yegeunyang/#2114
Add a link to declare_lint! macro doc in diagnostics.md
2025-01-29 04:08:54 +00:00
yegeunyang 7e74e43eaa Add link to declare_lint! macro 2025-01-28 21:05:12 -06:00
yegeunyang 930c6a61e3 Add "Writing tests" section 2025-01-28 20:42:26 -06:00
Michael Goulet cd9a8cc9c3 Move outlives env computation into methods 2025-01-28 18:55:03 +00:00
Michael Howell bc8f00367e Add some extra pointers for rustdoc frontend devs 2025-01-28 11:04:26 -07:00
Boxy b98da0d8e3 Merge from rustc 2025-01-28 11:57:19 +00:00
Joren-vanGoethem 636c5b1a4d
Update about-this-guide.md 2025-01-28 07:43:16 +01:00
Eric Huss ae3a58a13a
Correct information on dylib compression
Compression of dylibs was removed in https://github.com/rust-lang/rust/pull/113695 (and decompression removed in https://github.com/rust-lang/rust/pull/132402).
2025-01-26 12:08:48 -08:00
许杰友 Jieyou Xu (Joe) a86a368f0f rustc-dev-guide: update bootstrap tracing docs 2025-01-27 01:24:53 +08:00
León Orell Valerian Liehr 3ffcf606a9
Remove accidental leading empty line in code block 2025-01-26 02:42:09 +01:00
Eric Huss 684424aeef Update boring lines to sync with rustdoc 2025-01-25 13:49:32 -08:00
Matthias Krüger eda1e03c12
Rollup merge of #135829 - Kobzol:rustc-push, r=jieyouxu
Rustc dev guide subtree update

r? ``@ghost``
2025-01-24 23:25:44 +01:00
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
Mads Marquart 2e060866f0 Cross-link documentation for adding a new target
Both the target tier policy and the rustc-dev-guide has documentation on
this, let's make sure people see both.
2025-01-24 14:40:12 +01:00
Ada Alakbarova 168456e7a3
fix(solve/significant-changes): typo 2025-01-24 14:12:17 +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
Jakub Beránek 8c5b8fa814
Merge pull request #2215 from Kobzol/pull
rustc pull
2025-01-20 15:54:51 +01:00
Jakub Beránek 1e32114309 Merge from rustc 2025-01-20 14:12:41 +01:00
Jakub Beránek 0ae03351d2 Add portable SIMD to list of subtrees 2025-01-20 13:53:10 +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
Yuki Okushi c1b4cfaa96
Merge pull request #2211 from patrickoliveira15/patch/inference-invariance 2025-01-18 05:26:20 +09:00
Patrick Oliveira fbceffc7ca
remove outdated text about wfx implies 2025-01-17 12:04:42 -03:00
许杰友 Jieyou Xu (Joe) e9d9b29d06 compiletest: fix outdated `rustdoc-js` test suite name 2025-01-17 08:40:04 +08:00
lcnr 46458edee5 nyaa 2025-01-15 14:23:48 +01:00
Ryan Mehri b4940bbed6 fix some more typos 2025-01-14 23:01:42 -08:00
Noah Lev 7a4c3d3c30 Fix some broken links
* Rename `StringReader -> Lexer`
* Remove deleted `Query` struct
* Update some internal links
2025-01-14 21:52:33 -08: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
许杰友 Jieyou Xu (Joe) aca4d07e08
Merge pull request #2205 from ehuss/ci-config 2025-01-11 00:34:43 +08:00
Eric Huss cd9705f029 Fix calculate-job-matrix.py link 2025-01-10 08:26:52 -08:00
Eric Huss 42768820fe Document how to find the configuration used in CI
This documents how to determine which settings are used in CI, since I
see this question come up regularly. We currently don't have a great way
to answer the question, but at least there is something.
2025-01-10 08:16:37 -08:00
Jakub Beránek 280d73878a Update rustc-dev-guide 2025-01-07 19:10:03 +01:00
Max Heller 0fd52366ca
Fix broken raw HTML (#2198) 2025-01-07 16:00:59 +08:00