Rollup of 4 pull requests - #163493
Rollup of 4 pull requests#163493
Conversation
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
This comment has been minimized.
This comment has been minimized.
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
This comment has been minimized.
This comment has been minimized.
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 differencesShow 260 test diffsStage 1
Stage 2
Additionally, 252 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 5c543b0b8c73c7b72bc8284ced4fb22ead15734d --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (5c543b0): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis 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.
CyclesResults (primary 2.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 489.608s -> 488.023s (-0.32%) |
|
📌 Perf builds for each rolled up PR:
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: |
Successful merges:
Direquivalents offs::metadata&fs::symlink_metadata#163024 (AddDirequivalents offs::metadata&fs::symlink_metadata)struct fieldshorthands #163370 (Fix incorrect typo suggestion forstruct fieldshorthands)'_twice inuse<...>for E0700 #163471 (do not suggest capturing'_twice inuse<...>for E0700)r? @ghost
Create a similar rollup