Skip to content

Rollup of 6 pull requests - #160888

Merged
rust-bors[bot] merged 21 commits into
rust-lang:mainfrom
jhpratt:rollup-OY2pQdT
Aug 11, 2026
Merged

Rollup of 6 pull requests#160888
rust-bors[bot] merged 21 commits into
rust-lang:mainfrom
jhpratt:rollup-OY2pQdT

Conversation

@jhpratt

@jhpratt jhpratt commented Aug 11, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

joboet and others added 21 commits August 4, 2026 16:38
Also clarify how the homu-ignore markers actually work.
`lib.rs` imports `DepNode`/`DepNodeIndex` even though it doesn't use
them directly. And then `execution.rs` uses that one. Weird.

This commit fixes things to be more normal.
It's a more sensible home than `mod job`.
The current name is very generic and the file is mostly about query
vtables.
These four functions are all only used within `execution.rs`, so they no
longer need `pub(crate)`.

This is the first step toward eliminating `plumbing.rs`.
Because it now contains only things related to incremental. Also move
two functions relating to incremental from `execution.rs` to
`incremental.rs`.
It's a more sensible home than `lib.rs`.
…ieyouxu

Add back homu-ignore markers around the PR template

Besides reinstantiating the `homu-ignore` markers from rust-lang#126501, this PR also adds better clarification how the homu-ignore markers actually work; I've then also moved that section further down as it seems less important than the other parts of the PR template message. (We shouldn't forget that this is a *general PR template message*, not a LLM-policy-specific message.)

The disclosure markers appear to have been accidentally removed together with the checkboxes in rust-lang#160785.

In the future, if support for ignoring HTML comments in places such as markdown code blocks was added, the new description about how `<!-- homu-ignore:end -->`/`<!-- homu-ignore:start -->` can be used could be further simplified[^1], but I'd like to address the immediate issues first before considering any more involved improvements (there already *exist* [currently ~~6~~ 8] new PRs now that contain the whole template comment without `homu-ignore` markers).

[^1]: actually it may always stay non-ideal given that HTML comments don't nest 🫠
…fonthey

core: generalize `BorrowedCursor::ensure_init`

Tracking issue: rust-lang#160476

This implements the future possibility left out in rust-lang#149749 (comment) and makes `ensure_init` generic over `Default`. I used specialisation to make sure the performance in the `u8` case stays equivalent to `memset` irrespective of how clever the optimiser happens to be.

CC @joshtriplett as you've been working on this stuff recently.

This also adds a public `write_default` method on `[MaybeUninit<T>]` that's doing the equivalent of `.write_init(|_| Default::default())`, but uses specialisation for integers. This uses the existing [tracking issue for `maybe_uninit_fill`](rust-lang#117428).
…mpl, r=Zalathar

Overhaul `rustc_query_impl`

The file/module structure is all over the place. In particular, `plumbing.rs` and `query_impl.rs` are pretty meaningless file names.

r? @Zalathar
use `static` instead of `const` for derive(Debug)

r? @ghost
Update books

## rust-lang/reference

9 commits in afdc77bab886d4455c11247cdd32391bfab636ae..82da570bafd9efed421bdbae0f8603ede8dd308b
2026-08-08 22:04:17 UTC to 2026-07-28 18:20:15 UTC

- add c-variadic function definitions (rust-lang/reference#2177)
- Update `no_mangle` to use the attribute template (rust-lang/reference#1904)
- enums with fields: clarify that repr(C, int) is quite different from repr(int) (rust-lang/reference#2227)
- aliasing rules also apply inside private fields (rust-lang/reference#2304)
- attributes: do not explain syntax in rules (rust-lang/reference#2306)
- Document prohibition on inner attribute macros (rust-lang/reference#2311)
- Use authentication for linkcheck (rust-lang/reference#2319)
- Stabilize passing 128-bit integers via vector registers with `asm!` on x86 (rust-lang/reference#2313)
- Add a rule for attribute macro outline modules (rust-lang/reference#2310)
…rfonthey

Implement <OnceCell,OnceLock>::new_init

Tracking issues: rust-lang#159859 rust-lang#159860

I'm not sure If I was supposed to add any other tests apart from the doc tests.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Aug 11, 2026
@rustbot rustbot added A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) 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 Aug 11, 2026
@jhpratt

jhpratt commented Aug 11, 2026

Copy link
Copy Markdown
Member Author

@bors r+ p=5

@rust-bors

rust-bors Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 80fdf73 has been approved by jhpratt

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 Aug 11, 2026
@rust-bors

This comment has been minimized.

@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 Aug 11, 2026
@rust-bors

rust-bors Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 9m 14s
Pushing 0913b18 to main...

@rust-bors
rust-bors Bot merged commit 0913b18 into rust-lang:main Aug 11, 2026
14 checks passed
@rustbot rustbot added this to the 1.99.0 milestone Aug 11, 2026
@jhpratt
jhpratt deleted the rollup-OY2pQdT branch August 11, 2026 07:33
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#160872 Add back homu-ignore markers around the PR template 2fd0f22c240bd415f682db4866c07c49f3af201c (link)
#160432 core: generalize BorrowedCursor::ensure_init 3e7ff96039dbd415018a384d594e35da723a3a05 (link)
#160843 Overhaul rustc_query_impl aea5e9be598c8a46b6835e4029fbbf32092ee901 (link)
#160865 use static instead of const for derive(Debug) fe2a5e4b74891c64e49be1da9ce2efa920577af1 (link)
#160866 Update books 9b98d75fd882c9f23b9450c0621cccd3af81b22a (link)
#160881 Implement <OnceCell,OnceLock>::new_init c5e28d1499050a8172073b0985ebbac5ba16eb09 (link)

previous master: 0e72e3266c

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
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 0e72e32 (parent) -> 0913b18 (this PR)

Test differences

Show 114 test diffs

114 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 0913b18e489ac1011b580e31fa5559654be12bfc --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. x86_64-gnu-nopt: 1h 26m -> 2h 19m (+62.0%)
  2. dist-x86_64-musl: 1h 27m -> 2h 16m (+56.0%)
  3. x86_64-gnu-stdlib-semver-check: 12m 58s -> 6m 12s (-52.1%)
  4. x86_64-msvc-2: 1h 36m -> 2h 23m (+48.1%)
  5. dist-x86_64-freebsd: 1h 1m -> 1h 28m (+44.6%)
  6. dist-powerpc64-linux-musl: 1h 3m -> 1h 30m (+44.1%)
  7. x86_64-msvc-ext2: 1h 14m -> 1h 39m (+33.3%)
  8. dist-i686-mingw: 2h 4m -> 2h 43m (+30.7%)
  9. dist-aarch64-apple: 1h 39m -> 2h 6m (+26.8%)
  10. dist-x86_64-msvc-alt: 2h 3m -> 2h 35m (+25.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
Copy Markdown
Collaborator

Finished benchmarking commit (0913b18): comparison URL.

Overall result: ❌ regressions - 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.6% [0.6%, 0.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -1.0%, secondary -0.8%)

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

mean range count
Regressions ❌
(primary)
7.1% [7.1%, 7.1%] 1
Regressions ❌
(secondary)
1.5% [0.4%, 2.6%] 2
Improvements ✅
(primary)
-3.0% [-3.6%, -2.4%] 4
Improvements ✅
(secondary)
-1.1% [-6.9%, -0.4%] 21
All ❌✅ (primary) -1.0% [-3.6%, 7.1%] 5

Cycles

Results (secondary -0.5%)

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)
1.1% [0.4%, 5.0%] 9
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.4% [-7.0%, -0.4%] 17
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.1%, secondary 0.4%)

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

mean range count
Regressions ❌
(primary)
0.2% [0.1%, 0.3%] 8
Regressions ❌
(secondary)
0.4% [0.1%, 0.6%] 13
Improvements ✅
(primary)
-0.4% [-0.4%, -0.4%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [-0.4%, 0.3%] 9

Bootstrap: 454.011s -> 455.477s (0.32%)
Artifact size: 398.43 MiB -> 396.45 MiB (-0.50%)

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

Labels

A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) 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