Commit Graph

2557 Commits

Author SHA1 Message Date
Jieyou Xu af667b8696
Merge from rustc 2025-03-18 12:08:38 +08:00
Matthias Krüger 7ceeee7ca4
Rollup merge of #138533 - Kobzol:try-job-auto-tests, r=marcoieni
Only use `DIST_TRY_BUILD` for try jobs that were not selected explicitly

Some CI jobs (x64 Linux, ARM64 Linux and x64 MSVC) use the `opt-dist` tool to build an optimized toolchain using PGO and BOLT. When performing a default try build for x64 Linux, in most cases we want to run perf. on that artifact. To reduce the latency of this common use-case, `opt-dist` skips building several components not needed for perf., and it also skips running post-optimization tests, when it detects that the job is executed as a try job (not a merge/auto job).

This is useful, but it also means that if you *want* to run the tests, you had to go to `jobs.yml` and manually comment this environment variable, create a WIP commit, do a try build, and then remove the WIP commit, which is annoying (in the similar way that modifying what gets run in try builds was annoying before we had the `try-job` annotations).

I thought that we could introduce some additional PR description marker like `try-job-run-tests`, but it's hard to discover that such things exist.

Instead, I think that there's a much simpler heuristic for determining whether `DIST_TRY_BUILD` should be used (that I implemented in this PR):
- If you do just ``@bors` try`, without any custom try jobs selected, `DIST_TRY_BUILD` will be activated, to finish the build as fast as possible.
- If you specify any custom try jobs, you are most likely doing experiments and you want to see if tests pass and everything builds as it should. The `DIST_TRY_BUILD` variable will thus *not* be set in this case.

In this way, if you want to run dist tests, you can just add the `try-job: dist-x86_64-linux` line to the PR description, and you don't need to create any WIP commits.

r? `@marcoieni`
2025-03-17 22:49:06 +01:00
bit-aloo e4ddc21c8a
replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
jyn bfda715ef4 expand ${workspaceFolder} in sample vim config 2025-03-16 21:06:18 -04:00
Jakub Beránek f6940a6e7c Add a note to rustc-dev-guide 2025-03-16 20:42:37 +01:00
Yang Lin 832299550c Following commit 401dd84 in the Rust project
(https://github.com/rust-lang/rust),
`ErrorGuaranteed` was replaced by fatal errors.
As a result, `tcx.analysis()` now aborts directly
instead of returning an error guard.
To accommodate this change, this update replaces
`tcx.analysis()` with `typeck()`
to perform type checking in the example.
2025-03-16 23:43:17 +08:00
Tshepang Mbambo b04865b8d2 add some copy-paste goodness 2025-03-15 11:35:41 +02:00
Tshepang Mbambo 7d157cb36e make 'mdbook test --chapter "Running tests"' pass 2025-03-15 11:35:15 +02:00
Tshepang Mbambo e068c546a3 those should not get shell highlighting 2025-03-15 11:32:16 +02:00
Jakub Beránek dad3718db8 Fix MCP links 2025-03-14 15:18:58 +01:00
许杰友 Jieyou Xu (Joe) 9975f62f2b
Merge pull request #2283 from jieyouxu/sync
Rustc pull
2025-03-14 16:08:03 +08:00
KonaeAkira c20c046b0f Fix grammar and remove redundant info 2025-03-13 23:56:04 +01:00
Josh Stone 46d4f952c7
Remove the doc for `no-system-llvm`
This compiletest directive was removed in rust-lang/rust#120265.
2025-03-13 12:15:29 -07:00
许杰友 Jieyou Xu (Joe) 3ca2a42b52 Merge from rustc 2025-03-13 15:20:11 +08:00
Tshepang Mbambo bbcfc69027
less text for same effect 2025-03-13 03:51:51 +02:00
Nicholas Nethercote 7f5b5c36f8 Move methods from `Map` to `TyCtxt`, part 4.
Continuing the work from #137350.

Removes the unused methods: `expect_variant`, `expect_field`,
`expect_foreign_item`.

Every method gains a `hir_` prefix.
2025-03-12 08:55:37 +11:00
Jakub Beránek dd0359476d Handle backticks in try job patterns 2025-03-10 14:07:46 +01:00
Jakub Beránek 074e4787bd Modify try-job documentation 2025-03-10 14:07:45 +01:00
Oli Scherer 7119746828
Merge pull request #2258 from fee1-dead-contrib/constck
Rewrite effects checking chapter
2025-03-10 12:35:40 +01:00
许杰友 Jieyou Xu (Joe) 6ae1d4d997
Merge pull request #2273 from rust-lang/tshepang-patch-1
use new terminology
2025-03-10 17:59:15 +08:00
Tshepang Mbambo 53f8a2f1d6
add missing punctuation 2025-03-10 11:15:32 +02:00
Tshepang Mbambo 12b836b37c
clean --bless text 2025-03-10 11:12:44 +02:00
Tshepang Mbambo 916cd09d33
add a pause, for readability 2025-03-10 10:38:30 +02:00
Tshepang Mbambo 20b3dc1ee0
already mentioned before showing code snippet 2025-03-10 10:35:40 +02:00
Tshepang Mbambo 1d3b59fa4a
use new terminology 2025-03-10 10:29:30 +02:00
许杰友 Jieyou Xu (Joe) 9182eb6fe7
Merge pull request #2270 from tshepang/example-llvm-prs
mention llvm 20 in example prs
2025-03-09 08:06:06 +08:00
许杰友 Jieyou Xu (Joe) c37760a674
Merge pull request #2271 from rust-lang/tshepang-patch-1
fix text
2025-03-09 08:04:28 +08:00
Tshepang Mbambo efa11d0d5c
ignore-stage0 and only-stage0 do not exist 2025-03-08 23:51:17 +02:00
Tshepang Mbambo 28b1ec7130
fix text
- There is more than just target and stage
- There is only 3 stages, so don't mention them specially
2025-03-08 22:58:09 +02:00
Tshepang Mbambo ebead304f4 link to latest major llvm update pr 2025-03-08 20:40:44 +02:00
Tshepang Mbambo fc6a11aeb4 only a few are needed as examples 2025-03-08 20:35:42 +02:00
Tshepang Mbambo 723b887eff numbers were not sequential, so stop trying 2025-03-08 20:33:05 +02:00
Deadbeef 79e42cfb0b consider `explicit_implied_const_bounds` 2025-03-08 16:38:44 +08:00
许杰友 Jieyou Xu (Joe) 93eca2b494 Document that `rmake.rs`/`run-make-support` may not use unstable features 2025-03-07 19:09:41 +08:00
moxian aab48065ca Don't suggest explicitly `cfg`-gating `trace!` calls in bootstrap 2025-03-05 15:34:48 -08:00
许杰友 Jieyou Xu (Joe) a1c5c4971c
Rollup merge of #136581 - jieyouxu:makefile-be-gone, r=Kobzol
Retire the legacy `Makefile`-based `run-make` test infra

The final piece of [porting run-make tests to use Rust #121876](https://github.com/rust-lang/rust/issues/121876).
Closes #121876.
Closes #40713.
Closes #81791 (no longer using `wc`).
Closes #56475 (no longer a problem in current form of that test; we don't ignore the test on `aarch64-unknown-linux-gnu`).

### Summary

This PR removes the legacy `Makefile`-based `run-make` test infra which has served us well over the years. The legacy infra is no longer needed since we ported all of `Makefile`-based `run-make` tests to the new `rmake.rs` infra.

Additionally, this PR:

- Removes `tests/run-make/tools.mk` since no more `Makefile`-based tests remain.
- Updates `tests/run-make/README.md` and rustc-dev-guide docs to remove mention about `Makefile`-based `run-make` tests
- Update test suite requirements in rustc-dev-guide on Windows to no longer need MSYS2 (they should also now run successfully on native Windows MSVC).
- Update `triagebot.toml` to stop backlinking to #121876.

**Thanks to everyone who helped in this effort to modernize the `run-make` test infra and test suite!**

r? bootstrap
2025-03-05 21:46:32 +08:00
bors cd733e506e Auto merge of #135695 - Noratrieb:elf-raw-dylib, r=bjorn3
Support raw-dylib link kind on ELF

raw-dylib is a link kind that allows rustc to link against a library without having any library files present.
This currently only exists on Windows. rustc will take all the symbols from raw-dylib link blocks and put them in an import library, where they can then be resolved by the linker.

While import libraries don't exist on ELF, it would still be convenient to have this same functionality. Not having the libraries present at build-time can be convenient for several reasons, especially cross-compilation. With raw-dylib, code linking against a library can be cross-compiled without needing to have these libraries available on the build machine. If the libc crate makes use of this, it would allow cross-compilation without having any libc available on the build machine. This is not yet possible with this implementation, at least against libc's like glibc that use symbol versioning. The raw-dylib kind could be extended with support for symbol versioning in the future.

This implementation is very experimental and I have not tested it very well. I have tested it for a toy example and the lz4-sys crate, where it was able to successfully link a binary despite not having a corresponding library at build-time.

I was inspired by Björn's comments in https://internals.rust-lang.org/t/bundle-zig-cc-in-rustup-by-default/22096/27
Tracking issue: #135694

r? bjorn3

try-job: aarch64-apple
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: test-various
2025-03-04 15:39:44 +00:00
Zalathar 4801165af5 Remove some unnecessary aliases from `rustc_data_structures::sync`
With the removal of `cfg(parallel_compiler)`, these are always shared
references and `std::sync::OnceLock`.
2025-03-03 20:20:24 +11:00
bors a522bd04c1 Auto merge of #136864 - Kobzol:citool, r=marcoieni
Rewrite the `ci.py` script in Rust

It would seem that I would learn by now that any script written in Python will become unmaintainable sooner or later, but alas..

r? `@marcoieni`

try-job: aarch64-gnu
try-job: dist-x86_64-linux-alt
try-job: x86_64-msvc-ext2

Fixes: https://github.com/rust-lang/rust/issues/137013
2025-03-02 09:18:02 +00:00
许杰友 Jieyou Xu (Joe) 6a61f6f721 rustc-dev-guide: remove mentions of legacy `Makefile` run-make infra
And remove outdated requirements to run `run-make` tests on Windows.
2025-03-02 05:56:56 +08:00
Noratrieb 8044303cbf Support raw-dylib link kind on ELF
raw-dylib is a link kind that allows rustc to link against a library
without having any library files present.
This currently only exists on Windows. rustc will take all the symbols
from raw-dylib link blocks and put them in an import library, where they
can then be resolved by the linker.

While import libraries don't exist on ELF, it would still be convenient
to have this same functionality. Not having the libraries present at
build-time can be convenient for several reasons, especially
cross-compilation. With raw-dylib, code linking against a library can be
cross-compiled without needing to have these libraries available on the
build machine. If the libc crate makes use of this, it would allow
cross-compilation without having any libc available on the build
machine. This is not yet possible with this implementation, at least
against libc's like glibc that use symbol versioning.
The raw-dylib kind could be extended with support for symbol versioning
in the future.

This implementation is very experimental and I have not tested it very
well. I have tested it for a toy example and the lz4-sys crate, where it
was able to successfully link a binary despite not having a
corresponding library at build-time.
2025-02-26 19:09:51 +01:00
Boxy 3a4c5b0447 Merge from rustc 2025-02-25 21:27:44 +00:00
jyn c5b75dc7bd
use lua locals
Co-authored-by: DianQK <dianqk@dianqk.net>
2025-02-24 00:12:55 -05:00
jyn a55bd19ca7 document how to setup RA for nvim automatically 2025-02-23 22:07:09 -05:00
bors 27dffea545 Auto merge of #137215 - onur-ozkan:rustc-tool-build-stages, r=jieyouxu,Kobzol
stabilize stage management for rustc tools

https://github.com/rust-lang/rust/pull/135990 got out of control due to excessive complexity. This PR aims to achieve the same goal with a simpler approach, likely through multiple smaller PRs. I will keep the other one read-only and open as a reference for future work.

This work stabilizes the staging logic for `ToolRustc` programs, so you no longer need to handle build and target compilers separately in steps. Previously, most tools didn't do this correctly, which was causing the compiler to be built twice (e.g., `x test cargo --stage 1` would compile the stage 2 compiler before, but now it only compiles the stage 1 compiler).

I also tried to document how we should write `ToolRustc` steps as they are quite different and require more attention than other tools.

Next goal is to stabilize how stages are handled for the rustc itself. Currently, `x build --stage 1` builds the stage 1 compiler which is fine, but `x build compiler --stage 1` builds stage 2 compiler.

~~for now, r? ghost~~
2025-02-23 05:03:26 +00:00
Deadbeef 4f88394545 Rewrite effects checking chapter 2025-02-20 21:39:45 +08:00
Matthias Krüger 9d7d3f90be
Rollup merge of #137227 - epage:features_untracked, r=compiler-errors
docs(dev): Update the feature-gate instructions

`features_untracked` was removed in #114723

features are now functions as of  #132027
2025-02-19 18:52:08 +01:00
Matthias Krüger c4d5fa6a0e
Rollup merge of #127793 - ChaiTRex:zed_support, r=Kobzol
Added project-specific Zed IDE settings

This repository currently has project-specific VS Code IDE settings in `.vscode` and `compiler/rustc_codegen_cranelift/.vscode`. Now there are equivalent project-specific Zed IDE settings alongside those.

This fixes `rust-analyzer` not being able to properly handle this project.

Note that:

1. The contents of `src/tools/rust-analyzer/.vscode` could not be translated to Zed, as they aren't basic IDE settings.
2. One of the VS Code settings in `.vscode` has no corresponding setting in Zed, and so this has been noted like this:

    ```json
      "_settings_only_in_vs_code_not_yet_in_zed": {
        "git.detectSubmodulesLimit": 20
      },
    ```
2025-02-19 18:52:03 +01:00
onur-ozkan 97b80c80d1 add rustc-dev doc about bootstrap tools
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-19 09:03:35 +03:00
Ed Page 1520629844 docs(dev): Access features as functions, not members
This was changed in #132027
2025-02-18 10:35:13 -06:00
Ed Page 209dd46dad docs(dev): Remove reference to features_untracked
This was removed in #114723
2025-02-18 10:28:36 -06:00
Chai T. Rex 019264fc55 Add Zed to dev guide suggested workflows page 2025-02-17 23:56:38 -05:00
Jakub Beránek 912575e174
Update documentation 2025-02-17 12:27:44 +01:00
许杰友 Jieyou Xu (Joe) 141a8a1962 rustc-dev-guide: document `COMPILER` and `COMPILER_FOR` tracing targets 2025-02-16 18:47:57 +08:00
Florian Brucker 1979d85189 Fix examples to work with nightly-2025-02-13
While there were comments indicating which nightly versions the examples
were tested with, those versions did not work for me: neither did the
examples compile, nor did they produce the expected output.

This commit fixes the compilation issues, using nightly-2025-02-13 for
all examples (previously the version differed between the examples) and,
in the case of the `rustc_driver` examples, also fixes the argument
passing: rustc ignores the first argument, so we need to pass the
filename as the second (otherwise we only get the help text printed).

Note that the `rustc-interface-getting-diagnostics.rs` example still
does not produce any output, which I assume is not how it is intended.
However, I don't know enough to fix it.

To avoid inconsistencies between the documented version and the actually
required version I've moved the version comment from the Markdown into
the Rust code where it hopefully won't be forgotten as easily.

Finally I've clarified in the examples' README that you also need to use
the proper nightly version when compiling the examples, not just when
running them.
2025-02-15 19:44:32 +01:00
许杰友 Jieyou Xu (Joe) f32fc55183 rustc-dev-guide: document `{ignore,only}-rustc_abi-x86-sse2` 2025-02-15 23:17:07 +08:00
许杰友 Jieyou Xu (Joe) ad2eb5504e
Merge pull request #2252 from chenyukang/fix-perf
Add note for perf issue
2025-02-14 17:56:04 +08:00
Martin Liska 362246d1a8 Fix borked link 2025-02-14 07:23:10 +01:00
yukang b353b6e10a add notes for perf issue 2025-02-14 13:49:02 +08:00
Jubilee 2ddb2f8565
Rollup merge of #136924 - Kobzol:bootstrap-tracing, r=jieyouxu
Add profiling of bootstrap commands using Chrome events

Since we now have support for tracing in bootstrap, and the execution of most commands is centralized within a few functions, it's quite trivial to also trace command execution, and visualize it using the Chrome profiler. This can be helpful both to profile what takes time in bootstrap and also to get a visual idea of what happens in a given bootstrap invocation (since the execution of external commands is usually the most interesting thing).

This is how it looks:
![image](https://github.com/user-attachments/assets/3351489e-3a0f-4729-9082-5bf40c586d4b)

I first tried to use [tracing-flame](https://github.com/tokio-rs/tracing/tree/master/tracing-flame), but the output wasn't very useful, because the event/stackframe names were bootstrap code locations, instead of the command contents.

r? ``@jieyouxu``
2025-02-13 21:37:51 -08:00
bors 812566df01 Auto merge of #136593 - lukas-code:ty-value-perf, r=oli-obk
valtree performance tuning

Summary: This PR makes type checking of code with many type-level constants faster.

After https://github.com/rust-lang/rust/pull/136180 was merged, we observed a small perf regression (https://github.com/rust-lang/rust/pull/136318#issuecomment-2635562821). This happened because that PR introduced additional copies in the fast reject code path for consts, which is very hot for certain crates: 6c1d960d88/compiler/rustc_type_ir/src/fast_reject.rs (L486-L487)

This PR improves the performance again by properly interning the valtrees so that copying and comparing them becomes faster. This will become especially useful with `feature(adt_const_params)`, so the fast reject code doesn't have to do a deep compare of the valtrees.

Note that we can't just compare the interned consts themselves in the fast reject, because sometimes `'static` lifetimes in the type are be replaced with inference variables (due to canonicalization) on one side but not the other.

A less invasive alternative that I considered is simply avoiding copies introduced by https://github.com/rust-lang/rust/pull/136180 and comparing the valtrees it in-place (see commit: 9e91e50ac5 / perf results: https://github.com/rust-lang/rust/pull/136593#issuecomment-2642303245), however that was still measurably slower than interning.

There are some minor regressions in secondary benchmarks: These happen due to changes in memory allocations and seem acceptable to me. The crates that make heavy use of valtrees show no significant changes in memory usage.
2025-02-13 15:27:30 +00:00
Jakub Beránek 470a207ef0 Document bootstrap profiling 2025-02-13 13:36:31 +01:00
Jacob Pratt ae56be98d4
Rollup merge of #136858 - safinaskar:parallel-cleanup-2025-02-11-07-54, r=SparrowLii
Parallel-compiler-related cleanup

Parallel-compiler-related cleanup

I carefully split changes into commits. Commit messages are self-explanatory. Squashing is not recommended.

cc "Parallel Rustc Front-end" https://github.com/rust-lang/rust/issues/113349

r? SparrowLii

``@rustbot`` label: +WG-compiler-parallel
2025-02-13 03:53:31 -05:00
jyn 356e4816b2 document bootstrap logging 2025-02-12 21:03:34 -05:00
Lukas Markeffsky db57a5f454 intern valtrees 2025-02-13 00:38:17 +01:00
Guillaume Gomez b54679e461
Rollup merge of #136871 - madsmtm:link-to-lang-procedures, r=scottmcm
dev-guide: Link to `t-lang` procedures for new features

I was confused in https://github.com/rust-lang/rust/pull/136867, because while I did remember that such a procedure existed, but I couldn't seem to find it in the dev guide.
2025-02-12 20:30:53 +01:00
bors a071c7c0c8 Auto merge of #135336 - tshepang:patch-5, r=jieyouxu
clarify and document needs-dynamic-linking

try-job: test-various
2025-02-12 15:39:48 +00:00
Tshepang Mbambo 5cb9ff172f document the directive 2025-02-11 22:05:40 +02:00
Mads Marquart 66e5b92c31 dev-guide: Link to t-lang procedures for new features 2025-02-11 15:49:04 +01:00
Askar Safin eeec2f4b40 src/doc/rustc-dev-guide/src/parallel-rustc.md: remove Arc and Rc (it seems they are left-over after my PR) 2025-02-11 09:25:46 +03:00
Askar Safin f0bcb73760 compiler/rustc_data_structures/src/sync.rs: remove atomics, but not AtomicU64! 2025-02-11 08:57:36 +03:00
Askar Safin efa3dae1e1 compiler/rustc_data_structures/src/sync.rs: delete Weak 2025-02-11 08:28:28 +03:00
Askar Safin 844a47ab9f compiler/rustc_data_structures/src/sync.rs: delete MappedLockGuard
It seems it is left-over after some refactoring
2025-02-11 08:24:50 +03:00
The rustc-dev-guide Cronjob Bot 26a4c95a7e Merge from rustc 2025-02-10 04:02:38 +00:00
Urgau ce1d055f2f
Rollup merge of #136530 - Kobzol:x-perf, r=onur-ozkan
Implement `x perf` directly in bootstrap

Discussed [here](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Turning.20.60x.20perf.60.20into.20a.20first.20class.20command).

Implementing the command directly in bootstrap let's us correctly build the compiler toolchain based on input arguments (such as include rustdoc in the toolchain [only] when needed), and it also makes the CLI interface nicer.

r? ``@onur-ozkan``
2025-02-09 00:37:27 +01:00
Martin Liska dc919f8296 Remove reference to enum.Reveal 2025-02-07 09:03:22 +01:00
Michael Howell 9143d8d6c8 Update links to type schemas
What used to be in externs.js is now in rustdoc.d.ts.
2025-02-06 08:29:10 -07:00
MarcoIeni 8a6fd47a85
improve CI cache docs 2025-02-06 14:59:43 +01:00
Martin Liska aba092fd08 Replace link with a https based one 2025-02-06 09:12:42 +01:00
Jakub Beránek 0238431e20 Update rustc-dev-guide 2025-02-05 15:33:40 +01:00
许杰友 Jieyou Xu (Joe) b6a1fa4401
Merge pull request #2242 from DuskyElf/master 2025-02-04 04:30:57 +08:00
Tshepang Mbambo b3c5e9c734
overlong line 2025-02-03 22:07:10 +02:00
Rehmatpal Singh 2790e9aed6
Remove "Port run-make tests from Make to Rust" tracking issue from Recurring work 2025-02-04 01:26:15 +05:30
Askar Safin 9f683c9070 tree-wide: parallel: Fully removed all `Lrc`, replaced with `Arc` 2025-02-03 13:25:57 +03:00
Yuki Okushi 9350966973
Merge pull request #2236 from rust-lang/rustc-pull 2025-02-02 17:31:01 +09:00
Yuki Okushi 198de243e1
Apply suggestions from code review 2025-02-02 17:30:30 +09:00
nora cccaff7377
Merge pull request #2233 from chiichen/nix-shell-dev
Use a more convinient way of developing rustc on NixOS
2025-02-02 08:52:17 +01:00
Jakub Beránek c1b96f0f88 Reword submodule handling 2025-02-01 16:42:28 +01:00
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
Jakub Beránek a0505b3e7d Rewrite section on executing Docker tests 2025-01-30 18:33:34 +01: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
chiichen 72ceb939b3 feat: modify developing with nix section 2025-01-30 18:03:27 +08:00
chiichen a14bbfbea9 chore: discard padding white space 2025-01-30 18:02:58 +08: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