Commit graph

310682 commits

Author SHA1 Message Date
Yotam Ofek
3e089f2b3c Install yarn in tidy dockerfile 2025-11-17 10:58:17 +02:00
binarycat
8acea59362 Use yarn instead of npm in tidy 2025-11-17 10:58:13 +02:00
bors
89fe96197d Auto merge of #148478 - RalfJung:rotating-funnel, r=Mark-Simulacrum
use funnel shift as fallback impl for rotating shifts

That lets us remove this gnarly implementation from Miri and const-eval.

However, `rotate_left`/`rotate_right` are stable as const fn, so to do this we have to `rustc_allow_const_fn_unstable` a bunch of const trait stuff. Is that a bad idea? Cc `@oli-obk` `@fee1-dead`
2025-11-17 04:36:16 +00:00
bors
69d4d5fc0e Auto merge of #145809 - he32:installer-perf-fix-1, r=Mark-Simulacrum
rust-installer/install-template.sh: improve efficiency, step 1.

This round replaces repetitive pattern matching in the inner loop of this script using grep (which causes a `fork()` for each test) with built-in pattern matching in the Bourne shell using the `case` / `esac` construct.

This in reference to
  https://github.com/rust-lang/rust/issues/80684
and is a separated-out request from
  https://github.com/rust-lang/rust-installer/pull/111

which apparently never got any review.

The forthcoming planned "step 2" change builds on top of this change, and replaces the inner-loops needless uses of `sed` (which again causes a `fork()` for each instance) with the suffix removal constructs from the Bourne shell.  Since this change touches lots of the same lines this change does, that pull request cannot be submitted before this one is accepted.

Hopefully this first step is less controversial than the latter change.
2025-11-16 23:17:36 +00:00
bors
518b428304 Auto merge of #149002 - matthiaskrgr:rollup-tbjck7g, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - rust-lang/rust#148703 (Use `overflow_checks` intrinsic so `IterRangeFrom` yields MAX before panicking in debug)
 - rust-lang/rust#148881 (use `cfg_select!` to pick assembly in codegen test)
 - rust-lang/rust#148911 (Make flags from `*FLAGS*` (such as `RUSTFLAGS`) env. vars. have precedence over flags set by bootstrap)
 - rust-lang/rust#148914 (fix incorrect import in `std_detect` on `aarch64-unknown-openbsd`)
 - rust-lang/rust#148971 (Document Error::{new,other} as to be avoided in pre_exec)
 - rust-lang/rust#148983 (Use rustc target metadata for build-manifest target lists)
 - rust-lang/rust#148995 (add must_use to extract_if methods)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-11-16 19:57:08 +00:00
Matthias Krüger
046e09096e
Rollup merge of #148995 - RalfJung:extract_if, r=the8472
add must_use to extract_if methods

Also, mention the `.for_each(drop)` pattern in the documentation. One can't always use `retain` with a negated predicate as that does not have a range argument.

r? `@the8472`
2025-11-16 20:40:25 +01:00
Matthias Krüger
6e2dce8a9e
Rollup merge of #148983 - Mark-Simulacrum:build-manifest-dynamic-targets, r=Kobzol
Use rustc target metadata for build-manifest target lists

This ensures that as long as the target metadata is updated to reflect the current state (tier 3 vs 1/2, host toolchain support), the manifest will also be updated. This avoids an extremely common 'oops' when we move targets between tiers.

This mostly removes a bunch of tier 3 targets from manifests. I didn't spot check against produced artifacts but given that they are tier 3 it's probably reasonable to leave it as-is and bug reporters can fix the target metadata in rustc (or we can stop producing artifacts).

Follow-up work would ideally lint the artifact list as part of nightly/beta/stable builds as well, but for now this is simple and hopefully removes at common source of extra PRs when modifying targets.

Manifest list delta:

```diff
--- old
+++ new
-host:i686-apple-darwin
-host:mips-unknown-linux-gnu
-host:mips64-unknown-linux-gnuabi64
-host:mips64el-unknown-linux-gnuabi64
-host:mipsel-unknown-linux-gnu
-host:mipsisa32r6-unknown-linux-gnu
-host:mipsisa32r6el-unknown-linux-gnu
-host:mipsisa64r6-unknown-linux-gnuabi64
-host:mipsisa64r6el-unknown-linux-gnuabi64
-target:aarch64-unknown-hermit
-target:aarch64-unknown-managarm-mlibc
-target:aarch64-unknown-redox
-target:amdgcn-amd-amdhsa
-target:arm64e-apple-darwin
-target:arm64e-apple-ios
-target:arm64e-apple-tvos
-target:armebv7r-none-eabi
-target:armebv7r-none-eabihf
-target:armv7s-apple-ios
-target:bpfeb-unknown-none
-target:bpfel-unknown-none
-target:csky-unknown-linux-gnuabiv2
-target:csky-unknown-linux-gnuabiv2hf
-target:i386-apple-ios
-target:i586-unknown-redox
-target:i686-apple-darwin
-target:loongarch32-unknown-none
-target:loongarch32-unknown-none-softfloat
-target:m68k-unknown-linux-gnu
-target:m68k-unknown-none-elf
-target:mips-mti-none-elf
-target:mips-unknown-linux-gnu
-target:mips-unknown-linux-musl
-target:mips64-unknown-linux-gnuabi64
-target:mips64-unknown-linux-muslabi64
-target:mips64el-unknown-linux-gnuabi64
-target:mips64el-unknown-linux-muslabi64
-target:mipsel-mti-none-elf
-target:mipsel-unknown-linux-gnu
-target:mipsel-unknown-linux-musl
-target:mipsisa32r6-unknown-linux-gnu
-target:mipsisa32r6el-unknown-linux-gnu
-target:mipsisa64r6-unknown-linux-gnuabi64
-target:mipsisa64r6el-unknown-linux-gnuabi64
-target:riscv32gc-unknown-linux-gnu
-target:riscv32im-risc0-zkvm-elf
-target:riscv32ima-unknown-none-elf
-target:riscv64gc-unknown-hermit
-target:riscv64gc-unknown-linux-musl
-target:riscv64gc-unknown-managarm-mlibc
-target:sparc-unknown-none-elf
-target:x86_64-unikraft-linux-musl
-target:x86_64-unknown-hermit
-target:x86_64-unknown-managarm-mlibc
```
2025-11-16 20:40:25 +01:00
Matthias Krüger
cb94a8411c
Rollup merge of #148971 - purplesyringa:pre-exec-error-constructor, r=Mark-Simulacrum
Document Error::{new,other} as to be avoided in pre_exec

This is a mistake I've found in many projects on GitHub and made myself. It's obvious that `Error::new`/`Error::other` allocate when you look at their signatures, and it's obvious that the `pre_exec` closure shouldn't allocate, but when you're asked to write a closure that returns a specific type, you don't expect its main constructor to be problematic.

I've included the list of 71 affected projects in a spoiler, though I don't expect anyone to look through it closely. It includes popular projects like alacritty, pika-backup, rio, rpm-ostree, and headcrab, as well as many smaller ones. For the most part, the snippets I've found are careful to only call functions from `libc`, `nix`, or `rustix`, so it's not a case of general incompetence, but something that just slipped through the cracks.

This docs section is already cluttered, so I've kept it terse.

If this is merged, I'd like to mass-post issues to the affected projects linking to this PR as a centralized source of information and place for discussion. Are there any objections about that?

`@rustbot` label +A-docs +A-process +O-unix +T-libs-api

<details>
<summary>List of affected projects</summary>

Format: links (witness of multi-threading)

- cccdfab32d/mdmcpsrvr/src/sandbox.rs (L385) (`tokio::main`)
- bf68154f9e/alacritty_terminal/src/tty/unix.rs (L250) (`thread::spawn`)
- 6a7f5aced0/rust/agent-core/src/sandbox.rs (L257) (`tokio::main`)
- 68673c836a/src/imageproxy.rs (L285) (`library`)
- 27f489edd2/gs/station/src/tui/app.rs (L69) (`thread::spawn`)
- 85e8b51010/src/manager.rs (L55) (`tokio::runtime::Builder::new_multi_thread`)
- 35d4756bc5/src/run.rs (L75) (`tokio::main`)
- 31f5353e55/golem_cli/src/command/yagna.rs (L384), 31f5353e55/test-utils/test-framework/src/yagna.rs (L103) (`actix_rt::main`)
- 2d797c5070/src/subprocess.rs (L14) (`thread::Builder::new`)
- 626feea965/opstation/src/manager/mod.rs (L50) (`none`)
- ca3b943248/crates/alacritty_terminal/src/tty/unix.rs (L256) (`thread::spawn`)
- 9dee27162f/feos/services/vm-service/src/vmm/ch_adapter.rs (L272) (`tokio::main`)
- d1aad75d9f/vopono_core/src/network/application_wrapper.rs (L193) (`thread::spawn`)
- 05b0c5ca7b/rust/agent-core/src/sandbox.rs (L261) (`tokio::main`)
- 2244f29a74/zaun/src/lib.rs (L157) (`library`)
- 179261a458/src/main.rs (L532) (`none`)
- 8deab3eee1/src/provider/mod.rs (L228) (`tokio::main`)
- e5ee289fc6/src/rust/process_execution/children/src/lib.rs (L44) (`tokio::main`)
- 297d21a2b0/pika-backup/src/utils.rs (L171) (`library`)
- 1c92330ccc/termproxy/src/main.rs (L290) (`none`)
- 3db85ed0bd/src/daemon/mod.rs (L181), 3db85ed0bd/src/daemon/orchestration.rs (L204) (`tokio::main`)
- c0d687a3a1/teletypewriter/src/unix/mod.rs (L551) (`library`)
- 2e76ab93b0/crates/security/src/access_restrictions.rs (L379) (`thread::spawn`)
- b1a76480bf/brush-core/src/sys/unix/commands.rs (L64) (`tokio::runtime::Runtime::new()`)
- b2c19ee783/alacritty_terminal/src/tty/unix.rs (L250) (`thread::spawn`)
- ad500f9fb4/src/app/process.rs (L82) (`tokio::main`)
- 0ad2ee53f3/rust/src/bwrap.rs (L100) (`thread::spawn`)
- 9d334572a8/microsandbox-utils/lib/runtime/supervisor.rs (L131) (`tokio::main`)
- eb2cd826b6/src/subcommands/run.rs (L62) (`library`)
- c013dda71e/shared/src/pty.rs (L216) (`tokio::main`)
- 33618aedf6/ai-terminal/src-tauri/src/command/core/execute_command.rs (L388) (`thread::spawn`)
- 97e6ba18f0/os_install_service/src/util.rs (L92) (`thread::spawn`)
- 462d487680/scripts/flitter/flitter.rs (L455) (`tokio::main`)
- 5d073ff0ea/crates/server/src/debugpy.rs (L43) (`thread::spawn`)
- ef3425da2b/example-crs-webservice/crs-multilang/uniafl/src/concolic/executor/symcc/symcc.rs (L216), ef3425da2b/example-crs-webservice/crs-multilang/uniafl/src/concolic/executor/symcc/symqemu.rs (L259) (`thread::spawn`)
- e2a34f3271/dbgee/src/os/linux.rs (L162) (`thread::spawn`)
- 22e54166ed/src/task_manager.rs (L87) (`tokio::main`)
- c55e294577/ovpnd/src/session_manager.rs (L32) (`tokio::main`)
- e5b6543e8f/like-strace/src/main.rs (L51) (`none`)
- 5ec161045b/src/main.rs (L166) (`none`)
- 765a773716/novnc_recorder/src/ffmpeg.rs (L11) (`thread::spawn`)
- 02967d9389/xlsynth-driver/src/prover.rs (L474) (`thread::spawn`)
- d2dcfff230/rustrc/src/stateful_process.rs (L37) (`tokio::main`)
- 9906f5c5a0/src/term/term.rs (L155) (`async_std::task::spawn`)
- 9c03e1d7ba/examples/bash.rs (L87) (`tokio::main`)
- 63c366f5c1/src/main.rs (L281) (`tokio::main`)
- d29c538c0c/src/lib.rs (L59) (`library`)
- fadcc96868/rvisor/src/sentry/platform/ptrace.rs (L21) (`none`)
- 3353fad862/src/reactor.rs (L76) (`thread::spawn`)
- 5a420c5da3/src/target/unix.rs (L55) (`library`)
- 2a69aa432a/src/lib.rs (L430) (`thread::spawn`)
- b59df7f112/src/process.rs (L89) (`thread::spawn`)
- 43b5572953/src/main.rs (L488) (`gtk`)
- c27801cc47/rustbox/src/executor.rs (L226) (`thread::spawn`)
- 967e6c9dea/src/lib.rs (L224) (`library`)
- ce093f81c6/caco3-pty/src/nixpty.rs (L67) (`library`)
- 531421e412/src/cli/background_start.rs (L69) (`thread::spawn`)
- 1b28305945/hypervisor/src/hypervisor/partition.rs (L258) (`thread::spawn`)
- 7c7d5fb774/rust-executor/src/executors/command.rs (L422) (`library`)
- 5146a95e29/src/lib.rs (L73) (`library`)
- 166e825c8a/os_install_service/src/util.rs (L92) (`thread::spawn`)
- 69845f7f06/src/pty/pseudo_terminal_pair.rs (L59), 69845f7f06/src/pty/pseudo_terminal_pair.rs (L63) (`tokio::main`)
- bf00423f70/src/invoker/src/worker/valuer.rs (L39) (`tokio::main`)
- 9c9fea1222/src/executor/process_manager.rs (L139) (`tokio::main`)
- 92c582fa21/src/main.rs (L166) (`none`)
- cbde17d1b1/src/bin/sadmin/persist_daemon.rs (L223) (`tokio::main`)
- c08b037747/src/unix/pty.rs (L48) (`library`)
- 5f699b6aaf/tail2/src/client/run.rs (L178) (`tokio::main`)
- 61dfc84215/src/pty.rs (L187) (`none`)
- 25a6ad7ff8/judge/src/sandbox.rs (L96) (`tokio::main`)
- 3447555afb/glycin/src/sandbox.rs (L335) (`library`)
</details>
2025-11-16 20:40:24 +01:00
Matthias Krüger
098260034a
Rollup merge of #148914 - folkertdev:aarch64-openbsd-fix-import, r=Mark-Simulacrum
fix incorrect import in `std_detect` on `aarch64-unknown-openbsd`

fixes https://github.com/rust-lang/rust/issues/148898

In https://github.com/rust-lang/rust/pull/147024 the module structure of `std_detect` for `openbsd` was changed which invalidated this `super::` usage.

I've now tested that `std_detect` builds (or well, checks, because I don't have the right linkers) with `aarch64-unknown-openbsd` and `powerpc64-unknown-openbsd`.
2025-11-16 20:40:24 +01:00
Matthias Krüger
8c5606ecbc
Rollup merge of #148911 - karolzwolak:bootstrap-rustflags-precedence, r=Kobzol
Make flags from `*FLAGS*` (such as `RUSTFLAGS`) env. vars. have precedence over flags set by bootstrap

Before this PR extra flags from env variables like `RUSTFLAGS` had lower precedence than bootstrap flags. This PR changes that, and tus makes overriding flags passed to the compiler easier and more reliable.
This is technically a breaking change — but it only affects people using these env variables.

This change was [discussed on zulip](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Precedence.20of.20RUSTFLAGS.20in.20bootstrap/with/554903280) by members of bootstrap team.

r? `@Kobzol`
2025-11-16 20:40:23 +01:00
Matthias Krüger
46650a196f
Rollup merge of #148881 - folkertdev:cfg-select-codegen-naked, r=Mark-Simulacrum
use `cfg_select!` to pick assembly in codegen test

This makes it a bit easier to see what assembly is actually used.
2025-11-16 20:40:22 +01:00
Matthias Krüger
79d765ed38
Rollup merge of #148703 - pitaj:rangefrom-overflow_checks, r=Mark-Simulacrum
Use `overflow_checks` intrinsic so `IterRangeFrom` yields MAX before panicking in debug

Based on rust-lang/rust#128666. For your convenience, here is the [diff from that PR](https://github.com/pitaj/rust/compare/intrinsic-overflow_checks...pitaj:rust:rangefrom-overflow_checks).

When `overflow_checks` are enabled, the following code will output as shown
```rust
for n in std::range::RangeFrom::from(253_u8..) {
    println!("{n}");
}
// 253
// 254
// 255
// panic
```

Which is a change from the current behavior, where it will panic after printing 254.

This behavior was [requested by the libs team](https://github.com/rust-lang/rust/issues/125687#issuecomment-2151118208)

r? `@Mark-Simulacrum`
2025-11-16 20:40:22 +01:00
bors
cc57d9a2ab Auto merge of #148957 - flip1995:clippy-subtree-update, r=Manishearth
Clippy subtree update

r? `@Manishearth`
2025-11-16 16:43:54 +00:00
Mark Rousskov
18483225fa Move build-manifest target lists to rustc target metadata
This ensures that as long as the target metadata is updated to reflect
the current state (tier 3 vs 1/2, host toolchain support), the manifest
will also be updated. This avoids an extremely common 'oops' when we
move targets between tiers.

This mostly removes a bunch of tier 3 targets from manifests. I didn't
spot check against produced artifacts but given that they are tier 3
it's probably reasonable to leave it as-is and bug reporters can fix the
target metadata in rustc (or we can stop producing artifacts).

Follow-up work would ideally lint the artifact list as part of
nightly/beta/stable builds as well, but for now this is simple and
hopefully removes at common source of extra PRs when modifying targets.
2025-11-16 11:13:49 -05:00
Karol Zwolak
afa24cd828 Make flags from *FLAGS* (such as RUSTFLAGS) env. vars. have precedence over flags set by bootstrap 2025-11-16 16:08:48 +01:00
Ralf Jung
fc07052f8b add must_use to extract_if methods 2025-11-16 15:57:23 +01:00
Philipp Krones
b006b3d155
Merge commit '62589a21d3' into clippy-subtree-update 2025-11-16 15:19:59 +01:00
bors
e92ffc3a3a Auto merge of #148993 - RalfJung:miri, r=RalfJung
miri subtree update

Subtree update of `miri` to 5774cefbfc.

Created using https://github.com/rust-lang/josh-sync.

r? `@ghost`
2025-11-16 13:32:30 +00:00
Ralf Jung
725db88022
Merge pull request #4694 from RalfJung/epoll-ready-set
epoll: separately track ready_set
2025-11-16 10:51:05 +00:00
Ralf Jung
415526623c epoll: separately track ready_set 2025-11-16 11:23:47 +01:00
bors
b25b6eab7f Auto merge of #148992 - Zalathar:rollup-c1aqvox, r=Zalathar
Rollup of 3 pull requests

Successful merges:

 - rust-lang/rust#145954 (stabilize extern_system_varargs)
 - rust-lang/rust#148962 (fix(span): track unnormalized source len for dep-info)
 - rust-lang/rust#148969 (compiletest: Don't apply "emscripten" directives to `wasm32-unknown-unknown`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-11-16 10:19:40 +00:00
Stuart Cook
943b80ee02
Rollup merge of #148969 - Zalathar:wasm32-uwu, r=jieyouxu
compiletest: Don't apply "emscripten" directives to `wasm32-unknown-unknown`

This special case dates all the way back to the original introduction of the `wasm32-unknown-unknown` target, in https://github.com/rust-lang/rust/pull/45905.

Either it isn't needed, in which case we should remove it, or it *is* needed, in which case we should fix the directives in any affected tests.

Note that while the intent of this code was presumably to make `//@ ignore-emscripten` also ignore tests on w32-u-u, it has the unfortunate side-effect of also causing `//@ only-emscripten` tests to *run* on w32-u-u, which is potentially very confusing.
2025-11-16 20:30:54 +11:00
Stuart Cook
87e6b33239
Rollup merge of #148962 - weihanglo:checksum, r=jieyouxu
fix(span): track unnormalized source len for dep-info

Add `unnormalized_source_len` field to track the byte length
of source files before normalization (the original length).

`unnormalized_source_len` is for writing the correct file length
to dep-info for `-Zchecksum-hash-algorithm`

Fixes https://github.com/rust-lang/rust/issues/148934
2025-11-16 20:30:53 +11:00
Stuart Cook
a528a58a19
Rollup merge of #145954 - RalfJung:syscall-c-variadics, r=jackh726
stabilize extern_system_varargs

Based on top of https://github.com/rust-lang/rust/pull/144066. This has been already FCP'd over there, but `@workingjubilee` has some concerns regarding "system" varargs specifically (IIUC).

Reference PR: https://github.com/rust-lang/reference/pull/2069.
2025-11-16 20:30:53 +11:00
Ralf Jung
16685fc397
Merge pull request #4693 from RalfJung/genmc-exit
genmc: slightly simplify exit handling; get rid of GenmcBlockedExecution
2025-11-16 09:09:09 +00:00
Zalathar
e53f79d171 Don't apply "emscripten" directives to wasm32-unknown-unknown 2025-11-16 19:31:41 +11:00
Ralf Jung
cb5c5daf1e slightly simplify exit handling; get rid of GenmcBlockedExecution 2025-11-16 09:29:15 +01:00
bors
e1a2ec6051 Auto merge of #148259 - RalfJung:const-ptr-fragment, r=oli-obk
const-eval: fix and re-enable pointer fragment support

The pointer fragment support from https://github.com/rust-lang/rust/pull/144081 got disabled due to https://github.com/rust-lang/rust/issues/146291. This brings it back. To fix the issue, the per-byte provenance fragment tracking tracks *both* the provenance and raw address of the full pointer, so we can ensure that only fragments that are truly part of the same pointer are being merged.

r? `@oli-obk`
Cc `@theemathas`
Fixes https://github.com/rust-lang/const-eval/issues/72 again.
Also fixes https://github.com/rust-lang/rust/issues/147959.

`@traviscross` I assume this won't need another t-lang FCP since it already got FCP'd in rust-lang/rust#144081?
2025-11-16 07:09:45 +00:00
Peter Jaszkowiak
0e5c96c3ec IterRangeFrom: overflow panic after yielding MAX
check overflow after yielding MAX value
new `0_u8..` will yield `255` and only panic on the subsequent `next()`
2025-11-15 21:29:59 -07:00
Peter Jaszkowiak
6d2eb33391 fix a couple unstable attributes 2025-11-15 21:29:59 -07:00
bors
67c4cf395f Auto merge of #148988 - Zalathar:rollup-n7hgioa, r=Zalathar
Rollup of 11 pull requests

Successful merges:

 - rust-lang/rust#148416 (`vec_recycle`: implementation)
 - rust-lang/rust#148522 (Micro-optimize rustdoc search index parsing)
 - rust-lang/rust#148827 (Stabilize vec_into_raw_parts)
 - rust-lang/rust#148832 (Bump library dependencies)
 - rust-lang/rust#148836 (tweak primitive reference docs)
 - rust-lang/rust#148859 (Fix overflow-checks test for RISC-V target)
 - rust-lang/rust#148886 (Add riscv64a23-unknown-linux-gnu to build-manifest TARGETS)
 - rust-lang/rust#148956 (re-enable wasm abi test)
 - rust-lang/rust#148963 (runtest.rs: remove redundant check)
 - rust-lang/rust#148968 (Add another *ExprWithBlock* test for `try` blocks)
 - rust-lang/rust#148984 (chore: Update annotate-snippets to 0.12.9)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-11-16 03:42:21 +00:00
Stuart Cook
e00af8be3d
Rollup merge of #148984 - Muscraft:update-annotate-snippets, r=Kivooeo
chore: Update annotate-snippets to 0.12.9

This PR updates `annotate-snippets` to `0.12.9`, which includes a fix for rust-lang/rust#148070.

fixes rust-lang/rust#148070
2025-11-16 14:40:06 +11:00
Stuart Cook
6ad2331ce8
Rollup merge of #148968 - scottmcm:try-block-brace-tests, r=Kivooeo
Add another *ExprWithBlock* test for `try` blocks

Looking to address this open item from rust-lang/rust#31436

> Add a test confirming that it's an `ExprWithBlock`, so works in a match arm without a comma

It turns out that rust-lang/rust#120540 addressed that one, but it made me think of this other case that probably ought to have some kind of test as well.
2025-11-16 14:40:05 +11:00
Stuart Cook
34aef3a6a9
Rollup merge of #148963 - tshepang:patch-2, r=jieyouxu
runtest.rs: remove redundant check

The check is already done in enclosing code
2025-11-16 14:40:03 +11:00
Stuart Cook
788788b37d
Rollup merge of #148956 - folkertdev:reenable-wasm-abi-test, r=bjorn3
re-enable wasm abi test

The `wasm32-unknown-unknown` ABI has been fixed for a while now https://github.com/rust-lang/rust/issues/115666, so this test can be re-enabled and the fixme removed.

r? ``@bjorn3``
2025-11-16 14:40:02 +11:00
Stuart Cook
14223b8c5d
Rollup merge of #148886 - ZhongyaoChen:promote-riscv64a23-to-tier2, r=Mark-Simulacrum
Add riscv64a23-unknown-linux-gnu to build-manifest TARGETS

This enables rustup distribution of the rust-std component for the riscv64a23-unknown-linux-gnu target
(Previous PR rust-lang/rust#148435 missed this step.)
2025-11-16 14:40:01 +11:00
Stuart Cook
38b534161c
Rollup merge of #148859 - ZhongyaoChen:fix-riscv-overflow-checks-test-fail, r=Mark-Simulacrum
Fix overflow-checks test for RISC-V target

The overflow-checks codegen test was failing on riscv64gc target because the FileCheck pattern did not account for ABI extension attributes. RISC-V LP64 ABI requires integer types smaller than XLEN (64-bit) to be zero-extended or sign-extended to register width.

For u8 parameters, RISC-V generates:
  i8 noundef zeroext %a, i8 noundef zeroext %b

While x86_64 and aarch64 generate:
  i8 noundef %a, i8 noundef %b

The original CHECK pattern only matched the format without the `zeroext` attribute, causing test failures on RISC-V.

This patch makes the zeroext attribute optional in the FileCheck pattern using `{{( zeroext)?}}`, allowing the test to pass on architectures that add ABI extension attributes (e.g., RISC-V).

Test results before fix:
- x86_64-unknown-linux-gnu: 3 passed
- aarch64-unknown-linux-gnu: 3 passed
- riscv64gc-unknown-linux-gnu: 1 passed, 2 failed

Test results after fix:
- x86_64-unknown-linux-gnu: 3 passed
- aarch64-unknown-linux-gnu: 3 passed
- riscv64gc-unknown-linux-gnu: 3 passed
2025-11-16 14:40:00 +11:00
Stuart Cook
8ea74b1a8f
Rollup merge of #148836 - ericseppanen:primitive_reference_docs, r=Mark-Simulacrum
tweak primitive reference docs

This is a docs-only change for primitive reference.

I noticed a typo ("safe to use at type `T`") and fixed it to read "safe to use *as* type `T`".

While reading over the whole page, I also noticed another sentence that was hard to read. I tried to improve it: feel free to comment on the wisdom of this change...
2025-11-16 14:39:59 +11:00
Stuart Cook
79e2a2f47c
Rollup merge of #148832 - clubby789:cargo-update-library-11-11-25, r=Mark-Simulacrum
Bump library dependencies

https://github.com/rust-lang/rust/pull/145849#issuecomment-3394832713
2025-11-16 14:39:59 +11:00
Stuart Cook
ec2f7397ce
Rollup merge of #148827 - GoldsteinE:stabilize-vec-into-raw-parts, r=Mark-Simulacrum
Stabilize vec_into_raw_parts

This stabilizes `Vec::into_raw_parts()` and `String::into_raw_parts()` per FCP in https://github.com/rust-lang/rust/issues/65816#issuecomment-3517630971. While this _does not_ stabilize `Vec::into_parts()`, I fixed up the examples that said they were waiting for `vec_into_raw_parts`. As `Vec::from_parts()` and `Vec::into_parts()` are covered by the same feature `box_vec_non_null`, any doctest that uses `Vec::from_parts()` can also use `Vec::into_parts()` (and same for allocator-aware versions).

Closes rust-lang/rust#65816

``@rustbot`` modify labels: +T-libs-api
2025-11-16 14:39:58 +11:00
Stuart Cook
1433ec4282
Rollup merge of #148522 - yotamofek:pr/rustdoc/optimize-read_postings_from_string, r=GuillaumeGomez
Micro-optimize rustdoc search index parsing

This should pre-allocate the correct size for the `slot` vec. Not sure how much of a difference it'll make, but let's see.
2025-11-16 14:39:57 +11:00
Stuart Cook
7b73b2126d
Rollup merge of #148416 - GrigorenkoPV:vec_recycle, r=Mark-Simulacrum
`vec_recycle`: implementation

Tracking issue: rust-lang/rust#148227

Going with the `TransmuteFrom` approach suggested in https://github.com/rust-lang/libs-team/issues/674#issuecomment-3457795183, but a bit simplified.

Currently does not work in some places where it should due to the limitations of the current implementation of the transmutability analysis: https://github.com/rust-lang/rust/issues/148227#issuecomment-3478099591
2025-11-16 14:39:56 +11:00
bors
54f417673c Auto merge of #148526 - reddevilmidzy:docs, r=Mark-Simulacrum
Expand pow docs with special-case tests

resolve: rust-lang/rust#148316

Files changed:

* library/std/src/num: f32.rs, f64.rs,
  * powi
  * powf
* library/std/src/num: f16.rs, f128.rs
  * powf
* library/core/src/num: f16.rs, f128.rs
  * powi
* library/core/src/num: int_macros.rs, uint_macros.rs
  * checked_pow
  * strict_pow
  * saturating_pow
  * wrapping_pow
  * overflowing_pow
  * pow
2025-11-15 22:01:14 +00:00
Scott Schafer
463c6cea68
chore: Update annotate-snippets to 0.12.9 2025-11-15 14:45:21 -07:00
Ralf Jung
573515cc4a
Merge pull request #4686 from folkertdev/psad-avx512
add an avx512 `psadbw` shim
2025-11-15 18:52:41 +00:00
Weihang Lo
cf57b9b292
fix(span): track unnormalized source len for dep-info
Add `unnormalized_source_len` field to track the byte length
of source files before normalization (the original length).

`unnormalized_source_len` is for writing the correct file length
to dep-info for `-Zchecksum-hash-algorithm`
2025-11-15 09:05:08 -05:00
Weihang Lo
5f385829e2
refactor(span): rename source_len to normalized_source_len
This is a preparation for introducing a unnormalized source length field
2025-11-15 09:05:08 -05:00
bors
e65b983161 Auto merge of #148877 - lolbinarycat:rustdoc-opt-render-item, r=GuillaumeGomez
rustdoc: microoptimize render_item, move stuff out of common path
2025-11-15 12:50:36 +00:00
Folkert de Vries
04d97bc964
add an avx512 psad shim
also combine the sse2 and avx2 version into one generic function for all 3
2025-11-15 13:36:41 +01:00
Ralf Jung
e117ee4a4c
Merge pull request #4692 from RalfJung/epoll-wakeups
epoll wakeup fixes
2025-11-15 12:04:13 +00:00