Commit Graph

4218 Commits

Author SHA1 Message Date
Jieyou Xu ae46731db6
triagebot: setup `rustc-dev-guide` adhoc-group
So that PR authors can opt-in to request review via
`r? rustc-dev-guide`.
2025-05-31 23:26:32 +08:00
Jieyou Xu acb7ffd277
triagebot: fix incorrect link 2025-05-31 23:21:43 +08:00
bors fc5bd174c1 Auto merge of #141685 - orlp:inplace-tls-drop, r=joboet
Do not move thread-locals before dropping

Fixes rust-lang/rust#140816. I also (potentially) improved the speed of `get_or_init` a bit by having an explicit hot/cold path.

We still move the value before dropping in the event of a recursive initialization (leading to double-initialization with one value being silently dropped). This is the old behavior, but changing this to panic instead would involve changing tests and also the other OS-specific `thread_local/os.rs` implementation, which is more than I'd like in this PR.
2025-05-31 14:56:33 +00:00
bors 5fb0c46fec Auto merge of #141678 - Kobzol:revert-141516, r=workingjubilee
Revert "increase perf of charsearcher for single ascii characters"

This reverts commit 245bf503e2a948ac98170516d11df632e85a948b (PR https://github.com/rust-lang/rust/pull/141516).

It caused a large `doc` perf. regression in https://github.com/rust-lang/rust/pull/141605.
2025-05-31 08:11:06 +00:00
bors 2947e9cf82 Auto merge of #141667 - lqd:lazy-maybe-init, r=matthewjasper
Add fast path for maybe-initializedness in liveness

r? `@matthewjasper`

Correct me if I'm wrong Matthew, but my understanding is that
1. `MaybeInitializedPlaces` is currently eagerly computed, in `do_mir_borrowck`
2. but this data is only used in liveness
3. and `liveness::trace` actually only uses it for drop-liveness

This PR moves the computation to `liveness::trace` which looks to be its only use-site. We also add a fast path there, so that it's only computed by drop-liveness.

This is interesting because 1) liveness is only computed for relevant live locals, 2) drop-liveness is only computed for relevant live locals with >0 drop points; 0 is the common case from our benchmarks, as far as I can tell, so even just computing the entire data lazily helps.

It seems possible to also reduce the domain here, and speed up the analysis for the cases where it has to be computed -- so I've left a fixme for that, and may look into it soon.

(I've come upon this while doing implementation work for polonius, so don't be too enamored with possible wins: the goal is to reduce the eventual polonius overhead and make it more palatable 😓)
2025-05-31 04:52:37 +00:00
bors 01cee0c2ad Auto merge of #141657 - petrochenkov:nobinroot, r=jieyouxu
bootstrap: Remove `bin_root` from `PATH`

It's not currently load bearing in typical setups on typical targets.
Basically, if it passes the standard CI, then we can remove it, I think.

If someone later reports this breaking the build, then we can address it in a more fine grained way.
E.g. add it to `PATH` last and not first, only on specific targets, and only if specific files are not already found in `PATH` directories.

Fixes [#t-infra/bootstrap > Build broken in MSYS2 @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Build.20broken.20in.20MSYS2/near/520709527)
2025-05-30 18:56:37 +00:00
onur-ozkan 257e73f3a3 improve comments and docs
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-30 21:04:14 +03:00
onur-ozkan 09eb3b3f78 update dev guidelines
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-30 21:04:08 +03:00
onur-ozkan 19a333ad0f split `mingw-check` into two
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-30 21:04:05 +03:00
bors 53dcc6bbdb Auto merge of #139385 - joboet:threadlocal_address, r=nikic
rustc_codegen_llvm: use `threadlocal.address` intrinsic to access TLS

Fixes #136044
r? `@nikic`
2025-05-30 15:39:56 +00:00
bors a4e0ab2e75 Auto merge of #141573 - nnethercote:rustdoc-alloc-cleanups, r=camelid
rustdoc: cleanups relating to allocations

These commits generally clean up the code a bit and also reduce allocation rates a bit.

r? `@camelid`
2025-05-30 08:55:18 +00:00
bors c6e08679d1 Auto merge of #141651 - compiler-errors:less-assert, r=lcnr
Make some assertions in solver into debug assertions

These may or may not be expensive :>

r? lcnr
2025-05-30 02:21:17 +00:00
bors 8ffccd116b Auto merge of #141490 - compiler-errors:bump-pgo, r=Kobzol
Bump rustc-perf and update PGO crates

Updates rustc-perf to rust-lang/rustc-perf@8158f78f73, and updates the crates.

r? `@Kobzol`
2025-05-29 19:42:49 +00:00
bors 15be64207d Auto merge of #141595 - bjorn3:rustc_no_sysroot_proc_macro, r=onur-ozkan
Do not get proc_macro from the sysroot in rustc

With the stage0 refactor the proc_macro version found in the sysroot will no longer always match the proc_macro version that proc-macros get compiled with by the rustc executable that uses this proc_macro. This will cause problems as soon as the ABI of the bridge gets changed to implement new features or change the way existing features work.

To fix this, this commit changes rustc crates to depend directly on the local version of proc_macro which will also be used in the sysroot that rustc will build.
2025-05-29 12:07:53 +00:00
bors a7cdec89dc Auto merge of #141717 - jhpratt:rollup-neu8nzl, r=jhpratt
Rollup of 4 pull requests

Successful merges:

 - rust-lang/rust#138285 (Stabilize `repr128`)
 - rust-lang/rust#139994 (add `CStr::display`)
 - rust-lang/rust#141571 (coretests: extend and simplify float tests)
 - rust-lang/rust#141656 (CI: Add cargo tests to aarch64-apple-darwin)

Failed merges:

 - rust-lang/rust#141430 (remove `visit_clobber` and move `DummyAstNode` to `rustc_expand`)
 - rust-lang/rust#141636 (avoid some usages of `&mut P<T>` in AST visitors)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-05-29 08:53:27 +00:00
许杰友 Jieyou Xu (Joe) 60d52c8b52
Merge pull request #2425 from jieyouxu/adjust-triagebot 2025-05-29 16:38:11 +08:00
Jieyou Xu afb57b1f06
triagebot: update `[issue-links]` config 2025-05-29 16:37:09 +08:00
Jieyou Xu 02088e7791
triagebot: add doc backlink for `[no-mentions]` 2025-05-29 16:37:09 +08:00
Jieyou Xu 604343a24e
triagebot: enable note functionality 2025-05-29 16:37:06 +08:00
Jieyou Xu 77b0952142
triagebot: enable issue transfer 2025-05-29 16:37:02 +08:00
Jieyou Xu 7485ed7fbc
triagebot: enable PR review status flipping and its shortcuts 2025-05-29 16:15:04 +08:00
Jieyou Xu 6f298ff4b7
triagebot: apply `needs-triage` label for new issues 2025-05-29 16:13:03 +08:00
Jieyou Xu 531ef6c610
triagebot: adjust `allow-unauthenticated` labels 2025-05-29 16:12:35 +08:00
bors 8c21631ebc Auto merge of #141716 - jhpratt:rollup-9bjrzfi, r=jhpratt
Rollup of 16 pull requests

Successful merges:

 - rust-lang/rust#136429 (GCI: At their def site, actually wfcheck the where-clause & always eval free lifetime-generic constants)
 - rust-lang/rust#138139 (Emit warning while outputs is not exe and prints linkage info)
 - rust-lang/rust#141104 (Test(fs): Fix `test_eq_windows_file_type` for Windows 7)
 - rust-lang/rust#141477 (Path::with_extension: show that it adds an extension where one did no…)
 - rust-lang/rust#141533 (clean up old rintf leftovers)
 - rust-lang/rust#141612 (Call out possibility of invariant result in variance markers)
 - rust-lang/rust#141638 (Use `builtin_index` instead of hand-rolling it)
 - rust-lang/rust#141643 (ci: verify that codebuild jobs use ghcr.io)
 - rust-lang/rust#141675 (Reorder `ast::ItemKind::{Struct,Enum,Union}` fields.)
 - rust-lang/rust#141680 (replace TraitRef link memory.md)
 - rust-lang/rust#141682 (interpret/allocation: Fixup type for `alloc_bytes`)
 - rust-lang/rust#141683 (Handle ed2021 precise capturing of unsafe binder)
 - rust-lang/rust#141684 (rustbook: Bump versions of `onig` and `onig_sys`)
 - rust-lang/rust#141687 (core: unstably expose atomic_compare_exchange so stdarch can use it)
 - rust-lang/rust#141690 (Add `rustc_diagnostic_item` to `sys::Mutex` methods)
 - rust-lang/rust#141702 (Add eholk to compiler reviewer rotation)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-05-29 05:41:04 +00:00
Jacob Pratt 10771a9a79
Rollup merge of #141702 - eholk:eholk-reviewers, r=aDotInTheVoid
Add eholk to compiler reviewer rotation

Now that we have work queue limits on triagebot, I'm happy to share some of the review load.

r? ``@wesleywiser``
2025-05-29 04:49:47 +02:00
Jacob Pratt eb19d9b48c
Rollup merge of #141690 - Patrick-6:intercept-mutex, r=m-ou-se
Add `rustc_diagnostic_item` to `sys::Mutex` methods

For an ongoing project for adding a concurrency model checker to Miri we need to be able to intercept locking/unlocking operations on standard library mutexes.

This PR adds diagnostic items to the relevant calls `lock`, `try_lock` and `unlock` for the `sys::Mutex` implementation on the targets we care about.
This PR also makes the internals of `pthread::Mutex` less public, to reduce the chance of anyone locking/unlocking a mutex without going through the intercepted methods.

r? ``@RalfJung``
2025-05-29 04:49:47 +02:00
Jacob Pratt 7c783dad9f
Rollup merge of #141687 - RalfJung:atomic_compare_exchange, r=bjorn3
core: unstably expose atomic_compare_exchange so stdarch can use it

Due to https://github.com/rust-lang/stdarch/issues/1655, cleaning up the atomic intrinsics will be a bunch of extra work: stdarch directly calls them [here](8764244589/crates/core_arch/src/x86_64/cmpxchg16b.rs (L58-L74)).

Instead of duplicating that match, stdarch should use what we have in libcore, so let's expose that.

r? `@bjorn3`
2025-05-29 04:49:46 +02:00
Jacob Pratt 228227bae3
Rollup merge of #141684 - petrochenkov:bumponig, r=ehuss
rustbook: Bump versions of `onig` and `onig_sys`

This fixes the build on GCC 15.
2025-05-29 04:49:46 +02:00
Jacob Pratt 441d57951f
Rollup merge of #141683 - compiler-errors:unsafe-binder-capture, r=oli-obk
Handle ed2021 precise capturing of unsafe binder

Missing pieces from last pr.

r? oli-obk

Fixes https://github.com/rust-lang/rust/issues/141655
2025-05-29 04:49:45 +02:00
Jacob Pratt 3d531a4c5a
Rollup merge of #141682 - nia-e:fixup-alloc, r=RalfJung
interpret/allocation: Fixup type for `alloc_bytes`

This can be `FnOnce`, which helps us avoid an extra clone in rust-lang/miri#4343

r? RalfJung
2025-05-29 04:49:45 +02:00
Jacob Pratt 66f365d5bf
Rollup merge of #141680 - davidjsonn:master, r=oli-obk
replace TraitRef link memory.md

Hi, I fixed broken links in the documentation and replaced them with working ones.

https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TraitRef.html - old link
https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/type.TraitRef.html - new link
2025-05-29 04:49:44 +02:00
Jacob Pratt 86e53f09db
Rollup merge of #138139 - xizheyin:issue-137384, r=ChrisDenton
Emit warning while outputs is not exe and prints linkage info

cc #137384

```bash
$ rustc +stage1 /dev/null --print native-static-libs --crate-type staticlib  --emit metadata
warning: skipping link step due to conflict: cannot output linkage information without emitting executable

note: consider emitting executable to print link information

warning: 1 warning emitted
```
2025-05-29 04:49:40 +02:00
bors 6ebb2adf6e Auto merge of #141693 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2025-05-28 23:05:24 +00:00
许杰友 Jieyou Xu (Joe) 39644164b8
Merge pull request #2420 from rust-lang/aDotInTheVoid-patch-1
directives.md: Fix `//@ build_aux_docs` -> `//@ build-aux-docs`
2025-05-29 05:04:46 +08:00
许杰友 Jieyou Xu (Joe) b4b44bb6c0
Merge pull request #2421 from aDotInTheVoid/slashslashat
Fix some old `// <directive>` to `//@ <directive>`
2025-05-29 05:03:49 +08:00
Alona Enraght-Moony 655367d8b8 Fix some old `// <directive>` to `//@ <directive>` 2025-05-28 20:32:56 +01:00
Alona Enraght-Moony 812a949c11
directives.md: Fix `//@ build_aux_docs` -> `//@ build-aux-docs` 2025-05-28 20:18:56 +01:00
David Klank fa22636979
replace TraitRef link memory.md 2025-05-28 13:50:38 +03:00
Tshepang Mbambo 234bc7b8a5
Merge pull request #2419 from rust-lang/tshepang-patch-1
make link not inline
2025-05-27 21:21:44 +02:00
Tshepang Mbambo 6da83f69ce
make link not inline 2025-05-27 21:21:18 +02:00
nora 568fbad863
Merge pull request #2417 from smanilov/patch-16
Make links in coinduction.md clickable
2025-05-27 18:53:29 +02:00
nora a66ffa790e
Merge pull request #2418 from smanilov/patch-17
Link to description of opaque types
2025-05-27 18:52:53 +02:00
Stan Manilov e93a924d19 Make links in coinduction.md clickable
Although they are clickable in the github preview, they aren't in the actual rendered HTML on https://rustc-dev-guide.rust-lang.org/.

This commit fixes that.
2025-05-27 18:53:30 +03:00
Stan Manilov 01f8aee93b Link to description of opaque types 2025-05-27 18:50:31 +03:00
León Orell Valerian Liehr a20005c9ec
Merge pull request #2416 from rust-lang/tshepang-patch-1
diagnostic translations work is on pause
2025-05-26 22:14:47 +02:00
Tshepang Mbambo d90b7d7ac1
diagnostic translations work is on pause 2025-05-26 22:09:35 +02:00
Alona Enraght-Moony c122f5dc64
Merge pull request #2415 from rust-lang/aDotInTheVoid-patch-1
Remove rustdoc askama migration from getting started
2025-05-26 20:56:45 +01:00
Alona Enraght-Moony 482f61ad85
Remove rustdoc askama migration from getting started
This effort is blocked, so pointing new contributors here would be setting them up for failure.

https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/about.3A.20status.20of.20askama.20migration/with/497389045
2025-05-26 20:56:14 +01:00
Tshepang Mbambo e05b494faa
Merge pull request #2407 from smanilov/patch-14
Add time reference and tracking info for trait system refactor
2025-05-26 18:49:20 +02:00
Boxy 328563d231
Merge pull request #2414 from smanilov/patch-15
Link normalization chapter
2025-05-26 13:44:34 +01:00