Skip to content

Rollup of 6 pull requests#153579

Merged
rust-bors[bot] merged 13 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-DFWynbC
Mar 9, 2026
Merged

Rollup of 6 pull requests#153579
rust-bors[bot] merged 13 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-DFWynbC

Conversation

@JonathanBrouwer
Copy link
Contributor

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

tgross35 and others added 13 commits February 11, 2026 17:10
Currently we have a single `core::num` module that contains both thin
wrapper API and higher-complexity numeric routines. Restructure this by
moving implementation details to a new `imp` module.

This results in a more clean separation of what is actually user-facing
compared to items that have a stability attribute because they are
public for testing.
Follow up to the previous commit refactoring `core::num` by moving the
user-facing error types and trait implementations back out of `imp` and
into a new module under `core::num`.
Also updates the marker_impls macro docs to use PointeeSized bound, as most uses of the macro now do.
Split binarycat's entry into multiple lines, one for each extra email
Main changes:
- Inline `encode_query_cache` and `TyCtxt::serialize_query_result_cache`
- Pull value promotion out of `OnDiskCache::drop_serialized_data`
- Panic if `on_disk_cache` is None in an incremental-only path
…Simulacrum

std: use `OnceLock` for Xous environment variables

There's no need for exposed-provenance-shenanigans here...

CC @xobs
…ointee, r=Mark-Simulacrum

Update `UnsafeUnpin` impls involving extern types.

`UnsafeUnpin` tracking issue: rust-lang#125735

Relaxes from `T: ?Sized` (i.e. `T: MetaSized`) to `T: PointeeSized` for the `UnsafeUnpin` impls for pointers, references, and `PhantomData<T>`, and for the negative `UnsafeUnpin` impl for `UnsafePinned<T>`. (Compare to the impls for `Freeze` on lines 911-921.)

Both `UnsafeUnpin` and `extern type`s (the only way to have a `!MetaSized` type) are unstable, so this should have no effect on stable code.

Also updates the marker_impls macro docs to use PointeeSized bound, as most uses of the macro now do.

Concretely, this change means that the following types will newly implement `UnsafeUnpin`:

* pointers and references to `T` where `T` is an `extern type`
* `PhantomData<T>` where `T` is an extern type
* either of the above where `T` is a `struct` or tuple with `extern type` tail

Additionally, the negative `UnsafeUnpin` impl for `UnsafePinned<T>` is also relaxed to `T: PointeeSized` to align with the analogous negative `Freeze` impl for `UnsafeCell<T>`, even though both structs have `T: ?Sized` in their declaration (which probably should be relaxed, but that is a separate issue), so this part of the change doesn't actually *do* anything currently, but if `UnsafeCell` and `UnsafePinned` are later relaxed to `T: PointeeSized`, then the negative impl will apply to the newly possible instantiations. Also cc rust-lang#152645 that these impls compile at all.
Inline and simplify some code for saving incremental data to disk

Main changes:
- Inline `encode_query_cache` and `TyCtxt::serialize_query_result_cache`
- Pull value promotion out of `OnDiskCache::drop_serialized_data`
- Panic if `on_disk_cache` is None in an incremental-only path
…Simulacrum

num: Separate public API from internal implementations

Currently we have a single `core::num` module that contains both thin wrapper API and higher-complexity numeric routines. Restructure this by moving implementation details to a new `imp` module.

This results in a more clean separation of what is actually user-facing compared to items that have a stability attribute because they are public for testing.

The first commit does the actual change then the second moves a portion back.
…rycat

.mailmap: fix broken line with multiple emails

Split binarycat's entry into multiple lines, one for each extra email
…bi1kenobi,GuillaumeGomez

rustdoc-json: fix incorrect documentation for VariantKind::Struct

Seems to have been copy-and-pasted from `Enum::variants`, but `VariantKind::Struct::fields` is for struct variant fields, not enum variants.
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Mar 8, 2026
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-rustdoc-json Area: Rustdoc JSON backend 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Mar 8, 2026
@JonathanBrouwer
Copy link
Contributor Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 8, 2026

📌 Commit 934afe3 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 Mar 8, 2026
@JonathanBrouwer
Copy link
Contributor Author

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

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 8, 2026

⌛ Trying commit 934afe3 with merge d17b226

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/22830689455

rust-bors bot pushed a commit that referenced this pull request Mar 8, 2026
Rollup of 6 pull requests


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

This comment has been minimized.

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 9, 2026

💥 Test timed out after 21600s

@rust-bors rust-bors bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Mar 9, 2026
@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 Mar 9, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 9, 2026

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 32m 46s
Pushing eda4fc7 to main...

@rust-bors rust-bors bot merged commit eda4fc7 into rust-lang:main Mar 9, 2026
12 of 13 checks passed
@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Mar 9, 2026
@rustbot rustbot added this to the 1.96.0 milestone Mar 9, 2026
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#151900 num: Separate public API from internal implementations 24285e8b062d19b40a11da7cc4f4c5fecccaab45 (link)
#152535 std: use OnceLock for Xous environment variables a0301a9eb209c3588c19afa44ff637db62bae3dd (link)
#152646 Update UnsafeUnpin impls involving extern types. b59c8f44b377d963fca008fb2919f7a7b513e29c (link)
#153520 .mailmap: fix broken line with multiple emails ffef0efa0686cdf94d8bb9a74658d4b146c58275 (link)
#153559 Inline and simplify some code for saving incremental data t… 9df520252355c67cbfae77aec02ddcca3d159082 (link)
#153573 rustdoc-json: fix incorrect documentation for VariantKind::… 07f00754f912fd6d44a9ddb735ba4c669ef43281 (link)

previous master: b41f22de2a

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

@github-actions
Copy link
Contributor

github-actions bot commented Mar 9, 2026

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 b41f22d (parent) -> eda4fc7 (this PR)

Test differences

Show 2704 test diffs

2704 doctest diffs were found. These are ignored, as they are noisy.

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard eda4fc7733ee89e484d7120cafbd80dcb2fce66e --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-aarch64-apple: 1h 53m -> 3h 24m (+80.3%)
  2. i686-gnu-nopt-2: 2h 26m -> 2h 11m (-10.4%)
  3. x86_64-msvc-ext1: 2h 19m -> 2h 5m (-9.7%)
  4. dist-x86_64-netbsd: 1h 28m -> 1h 20m (-8.7%)
  5. i686-gnu-1: 2h 21m -> 2h 10m (-7.6%)
  6. dist-powerpc-linux: 1h 32m -> 1h 25m (-7.5%)
  7. dist-riscv64-linux: 1h 25m -> 1h 31m (+7.4%)
  8. test-various: 2h 6m -> 1h 58m (-6.8%)
  9. x86_64-gnu-gcc: 1h 8m -> 1h 3m (-6.7%)
  10. dist-powerpc64le-linux-musl: 1h 37m -> 1h 43m (+6.3%)
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

Finished benchmarking commit (eda4fc7): 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)
-0.2% [-0.4%, -0.1%] 3
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) -0.2% [-0.4%, -0.1%] 3

Max RSS (memory usage)

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

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: 478.517s -> 479.713s (0.25%)
Artifact size: 395.02 MiB -> 396.94 MiB (0.49%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-rustdoc-json Area: Rustdoc JSON backend 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants