Skip to content

Rollup of 28 pull requests - #145773

Merged
bors merged 98 commits into
rust-lang:masterfrom
jhpratt:rollup-kocqnzv
Aug 23, 2025
Merged

Rollup of 28 pull requests#145773
bors merged 98 commits into
rust-lang:masterfrom
jhpratt:rollup-kocqnzv

Conversation

@jhpratt

@jhprattjhpratt commented Aug 23, 2025

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

JayAndJefand others added 30 commits June 30, 2025 13:44
Added sanity check to bootstrap to hard error on wasm builds without
clang, and changed distribution image `dist-various-2` to use clang to
build for official targets.
Also fixed a typo in the sanity check for bootstrap, as we are checking for clang-likeness in every wasm target.
This commit is a purely cosmetic change to the documentation and
ordering of items in the `rwlock.rs` file, which will help discern the
actual difference between the `nonpoison` and `poison` variants of
`rwlock`.
List of changes (lots of small things):
- Clean up some of the existing field doc comments
- Add documentation for every field in struct definitions
- Consolidate related implementation blocks (1 implementation block per
guard instead of 2)
- Use the lifetime name `'rwlock` instead of `'a`
- Reorder implementation blocks to be consistent across the entire file
(follows the order `ReadGuard`, `WriteGuard`, `MappedReadGuard`,
MappedWriteGuard`)
- Move simple trait implementations to the bottom of the file
- Rename the `poison` field in `MappedRwLockWriteGuard` to
posion_guard`
- Cut off comments at 100 columns
- Update the documentation of `downgrade` to match stabilization PR #
143191
Adds the equivalent `nonpoison` types to the `poison::rwlock` module.
These types and implementations are gated under the `nonpoison_rwlock`
feature gate.
Also blesses the ui tests that now have a name conflicts (because these
types no longer have unique names). The full path distinguishes the
different types.
This commit simply helps discern the actual changes needed to test both
poison and nonpoison `rwlock`s.
Adds tests for the `nonpoison::RwLock` variant by using a macro to
duplicate the existing `poison` tests.
Note that all of the tests here are adapted from the existing `poison`
tests.
Most of these regressions concern elimination of panics and bounds
checks that were fixed upstream by LLVM.
When this fails, you get output that looks like:
/home/user/rust/tests/rustdoc-gui/search-result-impl-disambiguation.goml search-result-impl-disambiguation... FAILED
[ERROR] `tests/rustdoc-gui/utils.goml` around line 49
from `tests/rustdoc-gui/search-result-impl-disambiguation.goml` line 25: JS errors occurred: Event: Event
Making the error message more informative requires patching browser-ui-test.
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#132087Fix overly restrictive lifetime in `core::panic::Location::…dfe99178e5865b7bc59dd2bbbb8d617b2a45d249 (link)
#137396Recover param: Ty = EXPR94d08c21334d24d7fb36f53d34a1714fd7a616cd (link)
#137457Fix host code appearing in Wasm binaries355a6723975dbd03d12c8b2d7876061236cd2696 (link)
#142185Convert moves of references to copies in ReferencePropagati…557edc0d7ee75b857d0b6617352a206ff2dee65c (link)
#144648Implementation: #[feature(nonpoison_rwlock)]b48b30a396d34e23f9c4495ff6aacdbd869d3203 (link)
#144897print raw lifetime idents with r#49ad9e5b17356035c977161162ee1d727f8e6e32 (link)
#145218[Debuginfo] improve enum value formatting in LLDB for bette…25af88d42f48f3be554bc3c704e9f669c6a87dbf (link)
#145380Add codegen-llvm regression tests57c9f1c7c9aad0451850d0bd34bce963dd5894cb (link)
#145573Add an experimental unsafe(force_target_feature) attribute.e4682f6abd91720e5078b0915945c4d66c73c182 (link)
#145597resolve: Remove ScopeSet::Late52c4316fece3e431c4f3a88971530c806eb2a1ab (link)
#145633Fix some typos in LocalKey documentation58c894b390437808eeb62b471db097cb2fd05886 (link)
#145641On E0277, point at type that doesn't implement boundfd9e240cbdd83b13776fbc5649a0a382c455abd0 (link)
#145669rustdoc-search: GUI tests check for // in URLec6b05019e63726794480dde1b412f344d8f81fc (link)
#145695Introduce ProjectionElem::try_map.d98f479f68d90832d4fba8c9a55afbe627b62841 (link)
#145710Fix the ABI parameter inconsistency issue in debug.rs for L…66bf9d8e23439e91a3ddc7b568e84a8b6a2baadc (link)
#145726Experiment: Reborrow trait09ec03679a12df1459cc959adcaad58d7b9ef94c (link)
#145731Make raw pointers work in type-based search2916fe9cbeba1246577a3daabd35d7efd65e1def (link)
#145736triagebot: Update style team reviewersa13a60b35d5074d75108b9b751a8c8ec8eab4021 (link)
#145738Uplift rustc_mir_transform::coverage::counters::union_find …d210f885478824fd340d8b79326a5a28bd6f6db9 (link)
#145742rustdoc js: Even more typechecking improvments560c1b8da9ae924a666da0e9c6d5950c6a2951f3 (link)
#145743doc: fix some typos in comment40e448714683c8191d9addd5ad8e919b6d097fcd (link)
#145745tests: Ignore basic-stepping.rs on LoongArch40bad378a444a953c83ac8706de56413b15e3cb2 (link)
#145747Refactor lint buffering to avoid requiring a giant enumb763af51a6fb4b9a08a81f3396681b854f10f201 (link)
#145751fix(lexer): Allow '-' in the frontmatter infostring continu…bf6c88f563a5b12e6d3f36a3490a3857f92d5793 (link)
#145761Add aarch64_be-unknown-hermit targeta09c0452e790b1cd3be246ac6123c4ee1c2f59c2 (link)
#145762convert strings to symbols in attr diagnostics8cd6e7da6254f2245f245d5be1bf5f194dfbf9ea (link)
#145763Ship LLVM tools for the correct target when cross-compiling1072fca15d905128fa0c6ec01748a09029fc68e4 (link)
#145765Revert suggestions for missing methods in tuplescb86430dea57dfd80bd4948ae02aa993626aa754 (link)

previous master: 78b89ebb6b

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

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (8df154b): comparison URL.

Overall result: ❌ regressions - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

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

meanrangecount
Regressions ❌
(primary)
0.5%[0.5%, 0.5%]1
Regressions ❌
(secondary)
2.1%[0.1%, 4.2%]2
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.5%[0.5%, 0.5%]1

Max RSS (memory usage)

Results (secondary -2.2%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
2.3%[2.3%, 2.3%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-4.5%[-4.6%, -4.3%]2
All ❌✅ (primary)--0

Cycles

Results (secondary 3.4%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
4.1%[2.4%, 5.3%]10
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-3.9%[-3.9%, -3.9%]1
All ❌✅ (primary)--0

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 467.345s -> 467.037s (-0.07%)
Artifact size: 378.27 MiB -> 378.11 MiB (-0.04%)

@madsmtm

madsmtm commented Aug 23, 2025

Copy link
Copy Markdown
Member

Wow! There should be a prize for the largest successful rollup in uh... six years.

@jhpratt

Copy link
Copy Markdown
MemberAuthor

@madsmtm someone has to do it 😅 I actually considered adding in a couple more PRs on top of this. Anything to get the queue down as quickly as possible.

@Zalathar

Copy link
Copy Markdown
Member

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (2916fe9): comparison URL.

Overall result: ❌ regressions - please read the text below

Instruction count

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
4.2%[4.2%, 4.2%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)--0

Max RSS (memory usage)

Results (primary 6.1%, secondary -1.9%)

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

meanrangecount
Regressions ❌
(primary)
6.1%[6.1%, 6.1%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-1.9%[-1.9%, -1.9%]1
All ❌✅ (primary)6.1%[6.1%, 6.1%]1

Cycles

Results (secondary 3.3%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
3.3%[3.3%, 3.3%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)--0

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 467.345s -> 465.846s (-0.32%)
Artifact size: 378.27 MiB -> 378.29 MiB (0.00%)

@panstromek

Copy link
Copy Markdown
Contributor

perf triage:

include-blob regression looks like noise (similar bump we occasinaly see on it). Smaller doc regression was identified by the comment above as #145731 and is somewhat expected as there's more work to do when generating search index.

That should be it as far as I can see.
@rustbot label: +perf-regression-triaged

@rustbotrustbot added the perf-regression-triaged The performance regression has been triaged. label Aug 25, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-CIArea: Our Github Actions CIA-rustc-dev-guideArea: rustc-dev-guideA-rustdoc-jsonArea: Rustdoc JSON backendA-rustdoc-searchArea: Rustdoc's search featureA-testsuiteArea: The testsuite used to check the correctness of rustcmerged-by-borsThis PR was explicitly merged by bors.perf-regressionPerformance regression.perf-regression-triagedThe performance regression has been triaged.rollupA PR which is a rollupS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@jhpratt@bors@rust-timer@madsmtm@Zalathar@panstromek@rustbot@JayAndJef@ijchen@connortsui20@saethlin@nilptr@qxzcode@cjgillot@okaneco@heiher@notriddle@aapoalas@lolbinarycat@veluca93