Skip to content

Rollup of 4 pull requests - #163493

Merged
rust-bors[bot] merged 13 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-B0z7Ynf
Sep 29, 2026
Merged

rust-bors[bot] merged 13 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-B0z7Ynf

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

guybedford and others added 13 commits September 15, 2026 23:16
the test records what the compiler prints today: for an opaque that already has use<'_> and a second anonymous lifetime to capture, it suggested use<'_, '_>, which doesnt compile
suggest_precise_capturing was appending '_ to a use<..> list that already had it, suggesting use<'_, '_>, which rustc rejects with cannot capture parameter '_ twice

the branch for an opaque with an existing use<..> now bails out the same way the branch for an opaque without one does: both check if the lifetime is already captured
…enton

Add `Dir` equivalents of `fs::metadata` & `fs::symlink_metadata`

This adds methods to `Dir` that allow querying the metadata of files/directories relative to a `Dir`. Miri would [really like](rust-lang/miri#5327) to be able to do this so I figured I'd give it a shot. :)

The first commit refactors the Unix `DirEntry` methods a bit with `cfg_select` to avoid repeating the `cfg` condition.

Tracking issue: rust-lang#120426

try-jobs: test-x86_64-msvc-1
…smtm

Bump min Emscripten version to 4.0, drop deprecated -sWASM_BIGINT for wasm32-unknown-emscripten

This documents Emscripten 4.0.0 as the minimum supported version, and removes the on-by-default `-sWASM_BIGINT` link argument from the `wasm32-unknown-emscripten` target spec.

`WASM_BIGINT` has been enabled by default since Emscripten 4.0.0 (January 2025), and newer Emscripten versions now emit a deprecation warning whenever it is set explicitly (emscripten-core/emscripten#27558), so every link through rustc currently produces a warning. Since Emscripten's warning categories are not fine-grained enough to suppress this one setting without also disabling `-Wdeprecated` in general, the cleanest fix is to drop the flag and rely on the default.

* `-sWASM_BIGINT` removed from the target's post-link args (`-sABORTING_MALLOC=0` is retained)
* Platform support docs updated to state the Emscripten 4.0.0 minimum, with the install snippet using `latest` rather than pinning 3.1.68

Rust CI already installs the latest Emscripten release, so no CI changes are needed. Users on Emscripten < 4.0.0 who rely on the prebuilt `std` would need to upgrade or pass `-C link-arg=-sWASM_BIGINT` explicitly.
…kang

Fix incorrect typo suggestion for `struct field` shorthands

Fixes rust-lang#163324

by passing the field `Ident` to the suggestion builder to correctly expand unresolved struct shorthands.

r? @maxdexh
…time-capture-suggestion, r=oli-obk

do not suggest capturing `'_` twice in `use<...>` for E0700

starting from `use<'_>` with a second anonymous lifetime to capture, E0700 suggests `use<'_, '_>`. that fails with:

```
error: cannot capture parameter `'_` twice
```

then the compiler suggests `use<'_, '_, '_>`. both `AddPreciseCapturing::New` and `AddPreciseCapturing::Existing` are `machine-applicable` (rustc_trait_selection/src/diagnostics.rs:1876 and :1888) so rustfix applies the broken edit.

the branch for an opaque without `use<..>` already skips lifetimes that are captured. this adds the same check to the branch for an existing `use<..>`.

the issue repro compiles clean on edition 2024 and needs 2021 so the test starts one step in with `use<'_>` already written. two extra cases check the guard stays narrow: `use<>` with one anonymous lifetime still gets `use<'_>` and a named lifetime still gets suggested by name.

one note. the guard removes the suggestion without replacing it so someone who already wrote `use<'_>` gets no path forward. a correct suggestion needs to name the elided lifetimes and suggest_precise_capturing cannot do that today. that the multipart suggestion this issue asks for will be the follow up.

rust-lang#132199

r? @oli-obk
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Sep 29, 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 Sep 29, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

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

@rust-bors

rust-bors Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 2444fac has been approved by JonathanBrouwer

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 Sep 29, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 29, 2026
Rollup of 4 pull requests


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

This comment has been minimized.

@rust-bors

rust-bors Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: a859f3f (a859f3fe2dbb26f4de7aa8e0cbfb0c4456465bdb)
Base parent: ea6bb45 (ea6bb45b74c24a026dab4187b1550e97b6985c8a)

@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 Sep 29, 2026
@rust-bors

rust-bors Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 9m 8s
Pushing 5c543b0 to main...

@rust-bors
rust-bors Bot merged commit 5c543b0 into rust-lang:main Sep 29, 2026
15 checks passed
@rustbot rustbot added this to the 1.101.0 milestone Sep 29, 2026
@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 4853db6 (parent) -> 5c543b0 (this PR)

Test differences

Show 260 test diffs

Stage 1

  • [ui] tests/ui/impl-trait/precise-capturing/duplicate-anon-lifetime-suggestion-issue-132199.rs: [missing] -> pass (J1)
  • [ui] tests/ui/resolve/struct-shorthand-typo.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/impl-trait/precise-capturing/duplicate-anon-lifetime-suggestion-issue-132199.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/resolve/struct-shorthand-typo.rs: [missing] -> pass (J3)
  • fs::tests::test_dir_self_metadata: [missing] -> pass (J4)

Stage 2

  • fs::tests::test_dir_self_metadata: [missing] -> pass (J0)
  • [ui] tests/ui/impl-trait/precise-capturing/duplicate-anon-lifetime-suggestion-issue-132199.rs: [missing] -> pass (J2)
  • [ui] tests/ui/resolve/struct-shorthand-typo.rs: [missing] -> pass (J2)

Additionally, 252 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 5c543b0b8c73c7b72bc8284ced4fb22ead15734d --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. test-pr-check-1: 20m 34s -> 40m 57s (+99.1%)
  2. test-x86_64-gnu-gcc: 48m 19s -> 1h 22m (+71.2%)
  3. test-x86_64-gnu-stdlib-semver-check: 11m 4s -> 17m 31s (+58.3%)
  4. dist-x86_64-msvc: 1h 58m -> 3h 7m (+57.9%)
  5. test-x86_64-gnu-llvm-21: 39m 42s -> 57m 52s (+45.8%)
  6. test-x86_64-gnu-llvm-22-1: 56m 10s -> 1h 21m (+45.3%)
  7. test-x86_64-gnu-llvm-21-2: 1h 16m -> 1h 44m (+36.7%)
  8. dist-armv7-linux: 1h 8m -> 1h 31m (+33.2%)
  9. test-x86_64-msvc-2: 2h 40m -> 1h 48m (-32.2%)
  10. test-various: 2h 7m -> 1h 26m (-32.1%)
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 (5c543b0): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (secondary -2.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)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.6% [-3.2%, -2.0%] 2
All ❌✅ (primary) - - 0

Cycles

Results (primary 2.7%)

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

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

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 489.608s -> 488.023s (-0.32%)
Artifact size: 406.35 MiB -> 406.34 MiB (-0.00%)

@rust-bors

rust-bors Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#163024 Add Dir equivalents of fs::metadata & `fs::symlink_meta… 8a1ec409329f50646ad8d4ff25b62a7ae2a22415
(link)
#162839 Bump min Emscripten version to 4.0, drop deprecated -sWASM_… 939bfcf4cc06fd9f630b66e58fc6dba37543e7a0
(link)
#163370 Fix incorrect typo suggestion for struct field shorthands 252bb61562d66a30f44bfb15f8d005fc67130672
(link)
#163471 do not suggest capturing '_ twice in use<...> for E0700 cfbca065c94fcd844f39e241c9ac88759dd560fe
(link)

parent commit: 4853db6f65

In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: @rust-timer triage $SHA $SHA $SHA..., or run @rust-timer triage all to benchmark all rollup members.

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.

7 participants