Skip to content

Rollup of 17 pull requests #144814

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 63 commits into from
Aug 3, 2025
Merged

Rollup of 17 pull requests #144814

merged 63 commits into from
Aug 3, 2025

Conversation

samueltardieu
Copy link
Member

@samueltardieu samueltardieu commented Aug 2, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

purplesyringa and others added 30 commits July 19, 2025 19:25
This mostly documents the current behavior of `Mutex` and `RwLock` as
imperfect. It's unlikely that the situation improves significantly in
the future, and even if it does, the rules will probably be more
complicated than "poisoning is completely reliable", so this is a
conservative guarantee.

We also explicitly specify that `OnceLock` never poisons, even though it
has an API similar to mutexes.
rustdoc will not try to do intra-doc linking if the "path"
of a link looks too much like a "real url".

however, only inline links ([text](url)) can actually contain
a url, other types of links (reference links, shortcut links)
contain a *reference* which is later resolved to an actual url.

the "path" in this case cannot be a url, and therefore it should
not be skipped due to looking like a url.

Co-authored-by: Michael Howell <[email protected]>
this is in an effort to reduce the amount of code churn caused by
this lint triggering on text that was never meant to be a link.

a more principled hierustic for ignoring lints is not possible
without extensive changes, due to the lint emitting code
being so far away from the link collecting code,
and the fact that only the link collecting code
has access to details about how the link appears in the
unnormalized markdown.
collapsed links and reference links have a pretty particular syntax,
it seems unlikely they would show up on accident.

Co-authored-by: León Orell Valerian Liehr <[email protected]>
These examples feature Rust code that's presented primarily to
illustrate how its compilation would be handled, and these examples are
formatted to highlight those aspects in ways that rustfmt wouldn't
preserve. Turn formatting off in those examples.

(Doc code isn't formatted yet, but this will make it easier to enable
doc code formatting in the future.)
Because doc code does not get automatically formatted, some doc code has
creative placements of comments that automatic formatting can't handle.
Reformat those comments to make the resulting code support standard Rust
formatting without breaking; this is generally an improvement to
readability as well.

Some comments are not indented to the prevailing indent, and are instead
aligned under some bit of code. Indent them to the prevailing indent,
and put spaces *inside* the comments to align them with code.

Some comments span several lines of code (which aren't the line the
comment is about) and expect alignment. Reformat them into one comment
not broken up by unrelated intervening code.

Some comments are placed on the same line as an opening brace, placing
them effectively inside the subsequent block, such that formatting would
typically format them like a line of that block. Move those comments to
attach them to what they apply to.

Some comments are placed on the same line as a one-line braced block,
effectively attaching them to the closing brace, even though they're
about the code inside the block. Reformat to make sure the comment will
stay on the same line as the code it's commenting.
This leads tools like rustfmt to get confused, because the doc code
block effectively spans two doc comments. As a result, the tools think
the first code block is unclosed, and the subsequent terminator opens a
new block.

Move the FIXME comments outside the doc code blocks, instead.
This makes it easier for humans to parse, and improves the result of
potential future automatic formatting.
Placing the opening triple-backquote inside a `cfg_attr` makes many
tools confused, including syntax highlighters (e.g. vim's) and rustfmt.

Instead, use a `cfg` inside the doc code block.
Make it more idiomatic with the new run-make infra
Authenticate using GitHub app for the sync workflow
Use main branch of josh-sync for CI workflow
The AIX linkage model doesn't support ELF style extern_weak semantic, so just skip this test, like other platforms that don't have it.
This updates the rust-version file to 32e7a4b.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 32e7a4b
Filtered ref: d39f3479bfafb04026ed3afec68aa671d13e9c3c

This merge was created using https://github.com/rust-lang/josh-sync.
…Noratrieb

Update safety comment for new_unchecked in niche_types

Change the safety comment on `new_unchecked` to mention the valid range instead of 0. I noticed this while working on https://github.com/model-checking/verify-rust-std
rustc-dev-guide subtree update

Subtree update of `rustc-dev-guide` to rust-lang/rustc-dev-guide@9287205.

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

r? `@ghost`
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide 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-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. 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 Aug 2, 2025
@samueltardieu
Copy link
Member Author

@bors r+ p=5 rollup=never

@bors
Copy link
Collaborator

bors commented Aug 2, 2025

📌 Commit 0fcfb8b has been approved by samueltardieu

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 Aug 2, 2025
@bors
Copy link
Collaborator

bors commented Aug 2, 2025

⌛ Testing commit 0fcfb8b with merge 5b9564a...

@bors
Copy link
Collaborator

bors commented Aug 3, 2025

☀️ Test successful - checks-actions
Approved by: samueltardieu
Pushing 5b9564a to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 3, 2025
@bors bors merged commit 5b9564a into rust-lang:master Aug 3, 2025
11 checks passed
@rustbot rustbot added this to the 1.91.0 milestone Aug 3, 2025
Copy link
Contributor

github-actions bot commented Aug 3, 2025

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 a65b04d (parent) -> 5b9564a (this PR)

Test differences

Show 419 test diffs

Stage 1

  • errors::verify_mir_build_const_continue_missing_label_or_value_33: [missing] -> pass (J0)
  • errors::verify_mir_build_const_continue_missing_value_33: pass -> [missing] (J0)
  • [assembly] tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs: ignore (only executed when the target is x86_64-fortanix-unknown-sgx) -> pass (J2)
  • [assembly] tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-generic-ret.rs: ignore (only executed when the target is x86_64-fortanix-unknown-sgx) -> pass (J2)
  • [assembly] tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-inline-assembly.rs: ignore (only executed when the target is x86_64-fortanix-unknown-sgx) -> pass (J2)
  • [rustdoc] tests/rustdoc/attributes-2021-edition.rs: [missing] -> pass (J2)
  • [rustdoc] tests/rustdoc/attributes-re-export-2021-edition.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/intra-doc/bad-intra-doc.rs: [missing] -> pass (J2)
  • [ui] tests/ui/explicit-tail-calls/infinite-recursion-in-ctfe.rs: [missing] -> pass (J2)
  • result::test_const_result: [missing] -> pass (J6)

Stage 2

  • [run-make] tests/run-make/compressed-debuginfo-zstd: ignore (ignored if LLVM wasn't build with zstd for ELF section compression (we want LLVM/LLD to be built with zstd support)) -> pass (J1)
  • [rustdoc] tests/rustdoc/attributes-2021-edition.rs: [missing] -> pass (J3)
  • [rustdoc] tests/rustdoc/attributes-re-export-2021-edition.rs: [missing] -> pass (J3)
  • [assembly] tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs: ignore (only executed when the target is x86_64-fortanix-unknown-sgx) -> pass (J4)
  • [assembly] tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-generic-ret.rs: ignore (only executed when the target is x86_64-fortanix-unknown-sgx) -> pass (J4)
  • [assembly] tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-inline-assembly.rs: ignore (only executed when the target is x86_64-fortanix-unknown-sgx) -> pass (J4)
  • [ui] tests/rustdoc-ui/intra-doc/bad-intra-doc.rs: [missing] -> pass (J5)
  • [ui] tests/ui/explicit-tail-calls/infinite-recursion-in-ctfe.rs: [missing] -> pass (J7)

Additionally, 401 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 5b9564a18950db64c5aee8ba19d55a97b2e8d1cf --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. dist-x86_64-apple: 8588.3s -> 12401.4s (44.4%)
  2. dist-aarch64-linux: 5826.0s -> 8090.1s (38.9%)
  3. x86_64-apple-2: 4146.7s -> 5396.8s (30.1%)
  4. aarch64-gnu-llvm-19-1: 3239.6s -> 3792.4s (17.1%)
  5. pr-check-1: 2047.2s -> 1709.2s (-16.5%)
  6. aarch64-gnu-llvm-19-2: 2266.7s -> 2611.3s (15.2%)
  7. x86_64-gnu-tools: 4296.6s -> 3700.7s (-13.9%)
  8. i686-gnu-2: 5357.2s -> 6049.0s (12.9%)
  9. tidy: 92.8s -> 104.8s (12.9%)
  10. i686-gnu-nopt-1: 7125.5s -> 8030.7s (12.7%)
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
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#132748 get rid of some false negatives in rustdoc::broken_intra_do… 6c3da84bf46c0c0e14891afe37765fc57f7a43ac (link)
#143360 loop match: error on #[const_continue] outside `#[loop_ma… 35fea5eed1b6a2573ba4402f3aec2c5e1ef96f02 (link)
#143662 [rustdoc] Display unsafe attrs with edition 2024 unsafe() 47ec2e7e431a199183f5568f904a5ae73e78a098 (link)
#143771 Constify some more Result functions 69617286a883f0256bd343ac7c096a54ade955ba (link)
#144185 Document guarantees of poisoning dfe9f3044dfbd8eea7ef02580bb22caaa7986d0e (link)
#144395 update fortanix tests acf2ef7006d698e8cc954dd1f73bd2ff5f27cf37 (link)
#144478 Improve formatting of doc code blocks efda657ae519ec4de2ba60fad0617474d58aa100 (link)
#144614 Fortify RemoveUnneededDrops test. 4c2568cb03e421b8f6904c4182c5d1098f0a9824 (link)
#144703 [test][AIX] ignore extern_weak linkage test 250cddfefc666ac9500bf840096870e8a5b4fbf5 (link)
#144747 compiletest: Improve diagnostics for line annotation mismat… 7105b78a9504f75132b3d61f1fceb27243896f06 (link)
#144756 detect infinite recursion with tail calls in ctfe 67356e4340f66f00a4d49fd664c5854a8b1a2831 (link)
#144766 Add human readable name "Cygwin" 57bfd305f47500e932abe857551b0a3df3fbe865 (link)
#144782 Properly pass path to staged rustc to compiletest self-… 81a7cea26231ddb7f6329fc4f6e5637cff5ae9d8 (link)
#144786 Cleanup the definition of group_type 16720e81559aeed9b9de83efe8904d35e9d3a125 (link)
#144796 Add my previous commit name to .mailmap d79680bec93bbef24a9619b34ce41c41d381a41b (link)
#144797 Update safety comment for new_unchecked in niche_types d56b6671a43b03165aa3ec48a39ee9c82cdad8b2 (link)
#144803 rustc-dev-guide subtree update 69c7fb4a16d010cb890e1e1e6cc0c45642e4cbd8 (link)

previous master: a65b04d7c9

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
Collaborator

Finished benchmarking commit (5b9564a): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

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

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

Max RSS (memory usage)

Results (primary -0.2%, secondary 0.9%)

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

mean range count
Regressions ❌
(primary)
3.6% [3.6%, 3.6%] 1
Regressions ❌
(secondary)
0.9% [0.9%, 0.9%] 3
Improvements ✅
(primary)
-1.4% [-1.8%, -1.2%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.2% [-1.8%, 3.6%] 4

Cycles

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

Binary size

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

Bootstrap: 466.266s -> 468.772s (0.54%)
Artifact size: 376.99 MiB -> 377.01 MiB (0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. 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-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. 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.