Skip to content

Rollup of 8 pull requests#159748

Merged
rust-bors[bot] merged 19 commits into
rust-lang:mainfrom
GuillaumeGomez:rollup-9nyJVea
Jul 23, 2026
Merged

Rollup of 8 pull requests#159748
rust-bors[bot] merged 19 commits into
rust-lang:mainfrom
GuillaumeGomez:rollup-9nyJVea

Conversation

@GuillaumeGomez

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

jackh726 and others added 19 commits July 15, 2026 13:36
recv_inner returned the datagram length instead of the bytes copied into
the caller's buffer, and rxlen >= 4075 could index past the receive
buffer and panic. Clamp the count to both buffers, mirroring the earlier
send_to fix.
Signed-off-by: wanglei <wllenyj@gmail.com>
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
…,Nadrieril

Abort const-eval queries early when there are generics in the type

Since [recently](rust-lang#156977), const validation has a `has_param` check, which means ConstToPat also implicitly has that check. But it seems better to check this again explicitly here rather then rely on an undocumented property of some other component. The new test behaves the same with or without the PR.

I recommend hiding whitespace difference, since rustfmt re-indendet a bunch of stuff.
Fixes rust-lang#150296
r? @BoxyUwU
std: fix Xous UDP recv length over-report and OOB panic

recv_inner returned the datagram length instead of the bytes copied into the caller's buffer, and rxlen >= 4075 could index past the receive buffer and panic. Clamp the count to both buffers, as in rust-lang#158928.
Add fallback for `intrinsics::fabs`

Add a fallback for the `fabs` intrinsic. Because it uses const traits and const ops it required adding `rustc_const_unstable` -- i'm not certain it's right but it seems to make sense. I also added `#[miri::intrinsic_fallback_is_spec]`, though im not sure if I need to modify the const eval code to remove `fabs` handling or to remove it from any of the backends

r? folkertdev
bump std libc to 0.2.189

Upgrade the std libc version to the latest `v0.2.189` from `v0.2.185`.

There are too many changes between `v0.2.186` and `v0.2.187`, I'm not sure if `libc`'s update strategy is one version at a time, or if it allows upgrading multiple versions at once.
I now need to resolve the CI failure caused by `libc::SO_KEEPALIVE` in the `socket2` crate for rust-lang/socket2#666

``` hide
running `cargo check -Z build-std=std,panic_abort --target thumbv8m.main-nuttx-eabihf --no-default-features` on socket2 (1/2)
      Updating crates.io index
       Locking 3 packages to latest compatible versions
   Downloading crates ...
    Downloaded libc v0.2.189
      Updating crates.io index
   Downloading crates ...
    Downloaded addr2line v0.27.0
    Downloaded foldhash v0.2.0
    Downloaded getopts v0.2.24
    Downloaded cfg-if v1.0.4
    Downloaded memchr v2.7.6
    Downloaded rustc-literal-escaper v0.0.8
    Downloaded object v0.39.1
    Downloaded rustc-demangle v0.1.28
    Downloaded libc v0.2.185
    Downloaded adler2 v2.0.1
    Downloaded gimli v0.34.0
    Downloaded hashbrown v0.17.1
    Downloaded miniz_oxide v0.9.1
     Compiling compiler_builtins v0.1.160 (/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/compiler-builtins/compiler-builtins)
     Compiling core v0.0.0 (/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
     Compiling libc v0.2.185
     Compiling object v0.39.1
     Compiling std v0.0.0 (/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std)
     Compiling libc v0.2.189
     Compiling rustc-std-workspace-core v1.99.0 (/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
     Compiling alloc v0.0.0 (/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc)
     Compiling adler2 v2.0.1
     Compiling memchr v2.7.6
     Compiling unwind v0.0.0 (/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/unwind)
     Compiling cfg-if v1.0.4
     Compiling rustc-demangle v0.1.28
     Compiling panic_abort v0.0.0 (/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_abort)
     Compiling rustc-literal-escaper v0.0.8
     Compiling rustc-std-workspace-alloc v1.99.0 (/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-alloc)
     Compiling panic_unwind v0.0.0 (/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_unwind)
     Compiling gimli v0.34.0
     Compiling hashbrown v0.17.1
     Compiling miniz_oxide v0.9.1
     Compiling std_detect v0.1.5 (/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std_detect)
     Compiling addr2line v0.27.0
  error[E0425]: cannot find value `SO_KEEPALIVE` in crate `libc`
     --> /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/net/connection/socket/unix.rs:462:59
      |
  462 |         unsafe { setsockopt(self, libc::SOL_SOCKET, libc::SO_KEEPALIVE, keepalive as c_int) }
      |                                                           ^^^^^^^^^^^^ not found in `libc`

  error[E0425]: cannot find value `SO_KEEPALIVE` in crate `libc`
     --> /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/net/connection/socket/unix.rs:466:76
      |
  466 |         let raw: c_int = unsafe { getsockopt(self, libc::SOL_SOCKET, libc::SO_KEEPALIVE)? };
      |                                                                            ^^^^^^^^^^^^ not found in `libc`

```
…-variant, r=lqd

Add new variant to iterating-updating-mutref borrowck test

This is a useful variant to consider when porting to a-mir-formality.

r? lqd
fs::hard_link: use linkat on Android

According to rust-lang@6249cda, `linkat` needs API level 21. That is ancient (2014, Android 5). Our [target page](https://doc.rust-lang.org/rustc/platform-support/android.html) does not say which minimum Android version or API level we support, it just says:

> Rust will support the most recent Long Term Support (LTS) Android Native Development Kit (NDK). By default Rust will support all API levels supported by the NDK, but a higher minimum API level may be required if deemed necessary.

That's pretty useless as I have no idea how I'd figure out what the "API levels support by the NDK" are.
Cc @chriswailes @jfgoog @maurer @pirama-arumuga-nainar

Fixes rust-lang/miri#5080
…e1-dead

Consider `()` as suspicious only when expecting `!` for runtime symbols

Consider `()` as suspicious only when expecting `!` for runtime symbols, as `!` is considered ABI compatible in Rust with `()` (rust-lang#159446 (comment)).

Fixes rust-lang#159446
…te, r=GuillaumeGomez

Document the link_section attribute

Part of rust-lang#157604

r? @GuillaumeGomez
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jul 22, 2026
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jul 22, 2026
@GuillaumeGomez

Copy link
Copy Markdown
Member Author

@bors r+ p=5 rollup=never

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple,x86_64-mingw-1,i686-msvc-*

@rust-bors

rust-bors Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

📌 Commit d45af32 has been approved by GuillaumeGomez

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 22, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 8 pull requests


try-job: dist-various-1
try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple
try-job: x86_64-mingw-1
try-job: i686-msvc-*
@rust-bors

rust-bors Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: a356c71 (a356c71cb5c55253e1f3e83d788aa7a10ddae302)
Base parent: ae3bbe7 (ae3bbe78ec2a9bb57a03f10ad6ee0388e12bcefb)

@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jul 23, 2026
@rust-bors

rust-bors Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: GuillaumeGomez
Duration: 3h 17m 29s
Pushing 390279b to main...

@rust-bors
rust-bors Bot merged commit 390279b into rust-lang:main Jul 23, 2026
15 checks passed
@rustbot rustbot added this to the 1.99.0 milestone Jul 23, 2026
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#159504 Abort const-eval queries early when there are generics in t… 87c69ad70bb7b6fc3f6b40c9a76164836241278a (link)
#159523 std: fix Xous UDP recv length over-report and OOB panic 6a9f40631b1d72eada6246c20645a821831a89c5 (link)
#159605 Add fallback for intrinsics::fabs c1d8236edc6faf44c8021683ac5df03fbfb8459d (link)
#159699 bump std libc to 0.2.189 1a428f734a6ea31e60a0121a9d5c714c3c5b6800 (link)
#159306 Add new variant to iterating-updating-mutref borrowck test b4fa15cf3ee8d1167862fa495c3aa0429f7a5d91 (link)
#159346 fs::hard_link: use linkat on Android 066c987ce112a09b84b1b1998eef63e1a0e1e9de (link)
#159513 Consider () as suspicious only when expecting ! for run… 92044e98c753cad30b121b07b241d524b07c8635 (link)
#159734 Document the link_section attribute 16f92f5bc11263037eaadb76755733002ad56cd1 (link)

previous master: e7795af6d2

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@github-actions

Copy link
Copy Markdown
Contributor
What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing e7795af (parent) -> 390279b (this PR)

Test differences

Show 25 test diffs

Stage 1

  • [ui] tests/ui/pattern/generic-in-path.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/pattern/generic-in-path.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/pattern/generic-in-path.rs: [missing] -> pass (J2)

Additionally, 22 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 390279b302ca98ae270f434100ae3730531d1246 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. i686-gnu-2: 54m 40s -> 1h 39m (+82.4%)
  2. x86_64-mingw-1: 1h 56m -> 2h 56m (+50.9%)
  3. x86_64-gnu-llvm-21-3: 1h 15m -> 1h 50m (+46.9%)
  4. i686-gnu-1: 1h 36m -> 2h 20m (+45.2%)
  5. dist-i586-gnu-i586-i686-musl: 1h 31m -> 2h 5m (+37.3%)
  6. x86_64-gnu-llvm-21-2: 1h 34m -> 1h 3m (-32.8%)
  7. dist-sparcv9-solaris: 1h 11m -> 1h 34m (+32.5%)
  8. i686-gnu-nopt-1: 1h 48m -> 2h 21m (+31.0%)
  9. dist-x86_64-freebsd: 1h 7m -> 1h 26m (+29.4%)
  10. dist-powerpc64le-linux-musl: 1h 13m -> 1h 34m (+29.2%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (390279b): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.6% [0.6%, 0.6%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.6% [-0.6%, -0.6%] 2
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -2.2%, secondary -0.6%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
3.2% [1.5%, 5.4%] 5
Improvements ✅
(primary)
-2.2% [-2.2%, -2.2%] 1
Improvements ✅
(secondary)
-3.0% [-6.0%, -1.3%] 8
All ❌✅ (primary) -2.2% [-2.2%, -2.2%] 1

Cycles

Results (secondary 2.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
5.0% [3.4%, 6.6%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.6% [-3.6%, -3.6%] 1
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.2%, secondary 0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.2% [0.1%, 0.2%] 4
Regressions ❌
(secondary)
0.1% [0.1%, 0.2%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [0.1%, 0.2%] 4

Bootstrap: 486.654s -> 486.724s (0.01%)
Artifact size: 387.58 MiB -> 387.61 MiB (0.01%)

@GuillaumeGomez
GuillaumeGomez deleted the rollup-9nyJVea branch July 23, 2026 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants