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.

} else {
let msg = match suggestion.target {
SuggestionTarget::SimilarlyNamed => format!(
"{} {} with a similar name exists",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gregg Jackson

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.

8 participants