Skip to content

Conversation

@Zalathar
Copy link
Member

@Zalathar Zalathar commented Nov 11, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

JohnTitor and others added 30 commits October 22, 2025 21:11
async functions are disallowed (because `-> impl Trait` is not supported). `const` entry functions are allowed, nonsecure-call functions must be function pointers, which cannot be evaluated during constant evaluation.
epoll: unblock threads when new interest is registered
This updates the rust-version file to 8401398.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 8401398
Filtered ref: 9c097c092eaa8dd786fa7c138a3ecd67b4568d00
Upstream diff: rust-lang/rust@ceb7df7...8401398

This merge was created using https://github.com/rust-lang/josh-sync.
epoll: do proper edge detection inside the epoll system
It has been removed 9 months ago, which is more than a few months.
jamie-osec and others added 15 commits November 11, 2025 19:29
     Locking 113 packages to latest compatible versions
    Updating aho-corasick v1.1.3 -> v1.1.4
    Updating ammonia v4.1.1 -> v4.1.2
    Removing android-tzdata v0.1.1
    Updating anstream v0.6.20 -> v0.6.21
    Updating anstyle v1.0.11 -> v1.0.13
    Updating anyhow v1.0.99 -> v1.0.100
    Removing bitflags v1.3.2
    Removing bitflags v2.9.2
      Adding bitflags v2.10.0
    Updating bstr v1.12.0 -> v1.12.1
    Updating cc v1.2.33 -> v1.2.45
    Updating cfg-if v1.0.1 -> v1.0.4
    Updating chrono v0.4.41 -> v0.4.42
    Updating clap v4.5.45 -> v4.5.51
    Updating clap_builder v4.5.44 -> v4.5.51
    Updating clap_complete v4.5.57 -> v4.5.60
    Updating clap_derive v4.5.45 -> v4.5.49
    Updating clap_lex v0.7.5 -> v0.7.6
    Updating doc-comment v0.3.3 -> v0.3.4
    Updating env_filter v0.1.3 -> v0.1.4
    Updating errno v0.3.13 -> v0.3.14
      Adding find-msvc-tools v0.1.4
    Updating flate2 v1.1.2 -> v1.1.5
    Updating form_urlencoded v1.2.1 -> v1.2.2
    Updating generic-array v0.14.7 -> v0.14.9
    Updating getopts v0.2.23 -> v0.2.24
    Updating getrandom v0.3.3 -> v0.3.4
    Updating hashbrown v0.15.5 -> v0.16.0
    Updating iana-time-zone v0.1.63 -> v0.1.64
    Updating icu_collections v2.0.0 -> v2.1.1
    Updating icu_locale_core v2.0.0 -> v2.1.1
    Updating icu_normalizer v2.0.0 -> v2.1.1
    Updating icu_normalizer_data v2.0.0 -> v2.1.1
    Updating icu_properties v2.0.1 -> v2.1.1
    Updating icu_properties_data v2.0.1 -> v2.1.1
    Updating icu_provider v2.0.0 -> v2.1.1
    Updating idna v1.0.3 -> v1.1.0
    Updating indexmap v2.10.0 -> v2.12.0
    Updating is_terminal_polyfill v1.70.1 -> v1.70.2
    Updating jiff v0.2.15 -> v0.2.16
    Updating jiff-static v0.2.15 -> v0.2.16
    Updating js-sys v0.3.77 -> v0.3.82
    Updating litemap v0.8.0 -> v0.8.1
    Updating lock_api v0.4.13 -> v0.4.14
    Updating log v0.4.27 -> v0.4.28
    Updating normpath v1.3.0 -> v1.5.0
    Updating once_cell_polyfill v1.70.1 -> v1.70.2
    Updating opener v0.8.2 -> v0.8.3
    Updating parking_lot v0.12.4 -> v0.12.5
    Updating parking_lot_core v0.9.11 -> v0.9.12
    Updating percent-encoding v2.3.1 -> v2.3.2
    Updating pest v2.8.1 -> v2.8.3
    Updating pest_derive v2.8.1 -> v2.8.3
    Updating pest_generator v2.8.1 -> v2.8.3
    Updating pest_meta v2.8.1 -> v2.8.3
      Adding phf v0.13.1
    Updating phf_codegen v0.11.3 -> v0.13.1
      Adding phf_generator v0.13.1
      Adding phf_shared v0.13.1
    Updating potential_utf v0.1.2 -> v0.1.4
    Updating proc-macro2 v1.0.101 -> v1.0.103
    Updating quote v1.0.40 -> v1.0.42
    Updating redox_syscall v0.5.17 -> v0.5.18
    Updating regex v1.11.1 -> v1.12.2
    Updating regex-automata v0.4.9 -> v0.4.13
    Updating regex-syntax v0.8.5 -> v0.8.8
    Updating semver v1.0.26 -> v1.0.27
    Updating serde v1.0.219 -> v1.0.228
      Adding serde_core v1.0.228
    Updating serde_derive v1.0.219 -> v1.0.228
    Updating serde_json v1.0.142 -> v1.0.145
      Adding simd-adler32 v0.3.7
    Updating stable_deref_trait v1.2.0 -> v1.2.1
    Updating string_cache v0.8.9 -> v0.9.0
    Updating string_cache_codegen v0.5.4 -> v0.6.1
    Updating syn v2.0.106 -> v2.0.110
    Updating syntect v5.2.0 -> v5.3.0
    Updating tempfile v3.20.0 -> v3.23.0
    Updating thiserror v2.0.15 -> v2.0.17
    Updating thiserror-impl v2.0.15 -> v2.0.17
    Updating tinystr v0.8.1 -> v0.8.2
    Updating typenum v1.18.0 -> v1.19.0
    Updating unicode-ident v1.0.18 -> v1.0.22
    Updating unicode-width v0.2.1 -> v0.2.2
    Updating url v2.5.4 -> v2.5.7
    Removing wasi v0.14.2+wasi-0.2.4
      Adding wasip2 v1.0.1+wasi-0.2.4
    Updating wasm-bindgen v0.2.100 -> v0.2.105
    Removing wasm-bindgen-backend v0.2.100
    Updating wasm-bindgen-macro v0.2.100 -> v0.2.105
    Updating wasm-bindgen-macro-support v0.2.100 -> v0.2.105
    Updating wasm-bindgen-shared v0.2.100 -> v0.2.105
    Updating web_atoms v0.1.3 -> v0.1.4
    Updating winapi-util v0.1.9 -> v0.1.11
    Updating windows-core v0.61.2 -> v0.62.2
    Updating windows-implement v0.60.0 -> v0.60.2
    Updating windows-interface v0.59.1 -> v0.59.3
    Updating windows-link v0.1.3 -> v0.2.1
    Updating windows-result v0.3.4 -> v0.4.1
    Updating windows-strings v0.4.2 -> v0.5.1
    Updating windows-sys v0.59.0 -> v0.61.2
    Removing windows-targets v0.52.6
    Removing windows-targets v0.53.3
      Adding windows-targets v0.53.5
    Removing windows_aarch64_gnullvm v0.52.6
    Removing windows_aarch64_gnullvm v0.53.0
      Adding windows_aarch64_gnullvm v0.53.1
    Removing windows_aarch64_msvc v0.52.6
    Removing windows_aarch64_msvc v0.53.0
      Adding windows_aarch64_msvc v0.53.1
    Removing windows_i686_gnu v0.52.6
    Removing windows_i686_gnu v0.53.0
      Adding windows_i686_gnu v0.53.1
    Removing windows_i686_gnullvm v0.52.6
    Removing windows_i686_gnullvm v0.53.0
      Adding windows_i686_gnullvm v0.53.1
    Removing windows_i686_msvc v0.52.6
    Removing windows_i686_msvc v0.53.0
      Adding windows_i686_msvc v0.53.1
    Removing windows_x86_64_gnu v0.52.6
    Removing windows_x86_64_gnu v0.53.0
      Adding windows_x86_64_gnu v0.53.1
    Removing windows_x86_64_gnullvm v0.52.6
    Removing windows_x86_64_gnullvm v0.53.0
      Adding windows_x86_64_gnullvm v0.53.1
    Removing windows_x86_64_msvc v0.52.6
    Removing windows_x86_64_msvc v0.53.0
      Adding windows_x86_64_msvc v0.53.1
    Updating winnow v0.7.12 -> v0.7.13
      Adding wit-bindgen v0.46.0
    Removing wit-bindgen-rt v0.39.0
    Updating writeable v0.6.1 -> v0.6.2
    Updating yoke v0.8.0 -> v0.8.1
    Updating yoke-derive v0.8.0 -> v0.8.1
    Updating zerotrie v0.2.2 -> v0.2.3
    Updating zerovec v0.11.4 -> v0.11.5
    Updating zerovec-derive v0.11.1 -> v0.11.2
    warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
       --> crates/core_simd/src/masks/bitmask.rs:173:5
        |
    173 |     #[must_use = "method returns a new mask and does not mutate the original value"]
        |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
        = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions
        = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default

    warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
       --> crates/core_simd/src/masks/bitmask.rs:190:5
        |
    190 |     #[must_use = "method returns a new mask and does not mutate the original value"]
        |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
        = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions

    warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
       --> crates/core_simd/src/masks/bitmask.rs:206:5
        |
    206 |     #[must_use = "method returns a new mask and does not mutate the original value"]
        |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
        = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions

    warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
       --> crates/core_simd/src/masks/bitmask.rs:222:5
        |
    222 |     #[must_use = "method returns a new mask and does not mutate the original value"]
        |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
        = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions
…zelmann

Simplify `jemalloc` setup

In the past, `#[used]` had to appear in the top-level crate to have a consistent effect on the linker. This has been fixed a while ago for ELF with the introduction of the `symbols.o` file in rust-lang#95604, and more recently for Mach-O in rust-lang#133832, which means that libraries can now implement the required workarounds themselves. This allows moving these `#[used]` declarations out of our `main.rs`.

Specifically, I have moved them into `tikv-jemalloc-sys` where they belong in tikv/jemallocator#109 and done the same for `mimalloc` in purpleprotocol/mimalloc_rust#146 (in case we want to experiment with switching to that one day).

Test with:
```sh
./x build library src/tools/rustdoc src/tools/clippy --set rust.jemalloc=true

# macOS
lldb -- ./build/host/stage1/bin/rustc -vV
(lldb) b _rjem_je_zone_register
(lldb) run
# Should breakpoint, this means that the allocator was properly linked

# Linux
lldb -- ./build/host/stage1/bin/rustc -vV
(lldb) b malloc
(lldb) run
# Should breakpoint, inspect that the `malloc` symbol comes from the `rustc` binary and not from `libc`
```

try-job: `aarch64-gnu`
try-job: `dist-aarch64-linux`
try-job: `dist-x86_64-musl`
try-job: `dist-x86_64-apple`
try-job: `dist-aarch64-apple`
…ttern, r=estebank

Improve diagnostics for buffer reuse with borrowed references

Addresses rust-lang#147694

I'm not sure the current note wording is the best so I appreciate any feedback.
… r=lolbinarycat

[rustdoc] Fix invalid jump to def macro link generation

Follow-up of rust-lang#147820.

I realized that when there was no intra-doc link linking to the same item, then the generated link for macros in jump to def would be invalid.

To make the code less redundant, I merged the "registering" of items and the href generation use the same code for macros.

r? ``@notriddle``
bootstrap: Add snapshot tests for path-to-step handling

This PR adds a suite of snapshot tests for how bootstrap translates command-line “paths” (which are not necessarily actual paths) into a set of top-level steps to execute.

Unlike the existing suite of snapshot tests (for transitive step logging), I decided to use `.snap` files over inline snapshots, because I find that inline snapshots quickly make test files impossible to navigate. Instead, I set up a macro that makes it relatively easy to add or modify test cases.

Using `.snap` files also means that the tests can be blessed by setting `INSTA_UPDATE=always`, without necessarily needing the `cargo insta` tool installed, though the tool can still be used instead if desired.

These snapshot tests capture _current_ behavior, to prevent unintended changes or regressions. If the current behavior is wrong or undersirable, then any fix will necessarily have to re-bless the affected tests!

r? Kobzol
Adjust spans into the `for` loops context before creating the new desugaring spans.

When lowering `for` loops, the spans for the `into_iter` call and the `Some` pattern used the span of the provided pattern and head expression. If either of those came from a different `SyntaxContext` this would result in some very strange contexts. e.g.:

```rust
macro_rules! m { ($e:expr) => { { $e } } }
for _ in m!(expr) {}
```

This would result in the `into_iter` call have a context chain of `desugar => m!() => root` which is completely nonsensical; `m!()`  does not have a `for` loop. The `into_iter` call also ends up located at `{ $e }` rather than inside the `for _ in _` part.

This fixes that by walking the spans up to the `for` loop's context first. This will not handle adjusting the location of macro variable expansions (e.g. `for _ in $e`), but this does adjust the context to match the `for` loops.

---

This ended up causing rust-lang/rust-clippy#16008. Clippy should be using a `debug_assert` rather than `unreachable`, but it still results in a bug either way.
Update git index before running diff-index

Discussed in https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/tidy.3A.20strange.20number.20of.20modified.20files/with/553714742.

This is apparently the cause of `x test tidy` printing weird number of formatted files, and also of sometimes quirky behavior of finding the files modified from a base commit.
…davidtwco

cmse: add test for `async` and `const` functions

tracking issue: rust-lang#81391
tracking issue: rust-lang#75835

Some additional tests that seemed useful while working on the RFC text.

`async` functions are disallowed (because `-> impl Trait` is not supported).

`const` entry functions are allowed, `nonsecure-call` does not make sense, because this abi can only be used on function pointers, which cannot be evaluated during constant evaluation.

The async test is in the `c-variadic.rs` file because it has the minicore-compatible machinery for defining an async function. Splitting that logic out (like `minisimd.rs`) turns out to be complicated because the async stuff relies on types defined by minicore.

r? ``@davidtwco``
…kingjubilee

implement `feature(c_variadic_naked_functions)`

tracking issue: rust-lang#148767

[#t-lang > C-variadic naked functions](https://rust-lang.zulipchat.com/#narrow/channel/213817-t-lang/topic/C-variadic.20naked.20functions/with/554593886)

This feature allows naked c-variadic function definitions with any ABI that is supported for foreign c-variadic functions.

```rust
#![feature(c_variadic, c_variadic_naked_functions)]

#[unsafe(naked)]
unsafe extern "win64" fn variadic_win64(_: u32, _: ...) -> u32 {
    core::arch::naked_asm!(
        r#"
        push    rax
        mov     qword ptr [rsp + 40], r9
        mov     qword ptr [rsp + 24], rdx
        mov     qword ptr [rsp + 32], r8
        lea     rax, [rsp + 40]
        mov     qword ptr [rsp], rax
        lea     eax, [rdx + rcx]
        add     eax, r8d
        pop     rcx
        ret
    "#,
    )
}
```

r? `@workingjubilee`
Remove specialized warning for removed target

It has been removed 9 months ago, which is more than a few months.
miri subtree update

Lands the new avx512 support for zlib-rs, and the epoll fixes for Tokio.

Subtree update of `miri` to rust-lang/miri@667796b.

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

r? `@ghost`
Remove more `#[must_use]` from portable-simd

These lines were missed in <https://github.com/rust-lang/rust/commit/f3515fb127ae07f1b13340dde0c61a20291eb304>/rust-lang/rust#136923 because core_simd/src/masks/bitmask.rs is only conditionally compiled.

https://github.com/rust-lang/rust/blob/25d319a0f656ee8faa7a534da299e76e96068a40/library/portable-simd/crates/core_simd/src/masks.rs#L9-L13

Removing them unblocks bootstrapping rustc in an environment where avx512f is enabled. Without this change:

```console
error: `#[must_use]` attribute cannot be used on trait methods in impl blocks
   --> library/core/src/../../portable-simd/crates/core_simd/src/masks/bitmask.rs:173:5
    |
173 |     #[must_use = "method returns a new mask and does not mutate the original value"]
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
    = help: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
    = note: `-D unused-attributes` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(unused_attributes)]`
```

To reproduce:

`RUSTC_BOOTSTRAP=1 RUSTFLAGS=-Ctarget-feature=+avx512f cargo +nightly check --manifest-path=library/portable-simd/crates/core_simd/Cargo.toml --target=x86_64-unknown-linux-gnu --no-default-features`
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. rollup A PR which is a rollup labels Nov 11, 2025
@Zalathar
Copy link
Member Author

Rollup of everything.

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Nov 11, 2025

📌 Commit 71cb827 has been approved by Zalathar

It is now in the queue for this repository.

@bors bors 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 Nov 11, 2025
@Zalathar
Copy link
Member Author

Actually, there is still an untriaged failure from #148829.

@bors r-

@Zalathar Zalathar closed this Nov 11, 2025
@Zalathar Zalathar deleted the rollup-o36ozm3 branch November 11, 2025 22:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.