Skip to content

Rollup of 10 pull requests - #157663

Closed
GuillaumeGomez wants to merge 26 commits into
rust-lang:mainfrom
GuillaumeGomez:rollup-Iwi31Tb
Closed

Rollup of 10 pull requests#157663
GuillaumeGomez wants to merge 26 commits into
rust-lang:mainfrom
GuillaumeGomez:rollup-Iwi31Tb

Conversation

@GuillaumeGomez

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

rajgandhi1and others added 26 commits June 5, 2026 14:34
Since approx. Windows SDK 20348, the corresponding cdb (and/or its
underlying WinDbg engine) changed or regressed the `OsStr`/`OsString`
visualization, and no longer renders the emoji. Since approx. SDK/cdb
26100, the output formatting of the string containing UTF-8 (i.e. the
multi-byte emoji grapheme) seems to have further regressed (e.g. the end
quotation mark is no longer shown and command output becomes garbled).
Relevant issues:
* RUST-88840
* RUST-148743
* RUST-88796
The hand-written reader bootstrap.py uses to find the stage0 cargo and
rustc only recognized `[table]` headers, so dotted keys like
`build.cargo = "..."` were ignored. Parse the dotted prefix on each key
as the table it belongs to, resolved relative to the enclosing section,
and scope the cargo/rustc lookup to `[build]` so the Python and Rust
sides agree.
This makes a few changes to rustc_public to make it a little easier to
analyze ADT types.
* It implements `CrateDef` and `CrateDefType` for `FieldDef`, which
allows easy access to the underlying `DefId`, names, and tool
annotations.
* It adds `Crate::adts` to simplify stepping through all the ADTs in the
crate.
Note that I did use Gemini to assist with writing this patch, but I
wrote most of it, reviewed all the vode, and verified the tests pass
locally.
Moreover, flesh out the rustdoc book section about code block attributes.
* Fix async drop glue for Box<T>
* Adress reviewer concerns
* Address more concerns
…keys, r=clubby789
bootstrap: Handle dotted table keys when parsing bootstrap.toml
Fixesrust-lang#156948
`bootstrap.py` has a small hand-rolled reader that pulls the stage0 cargo and rustc out of `bootstrap.toml` before the real TOML parser is built. It only understood `[table]` headers, so the dotted form that `bootstrap.example.toml` now uses (`build.cargo = "..."`) was silently dropped, and the cargo/rustc lookup matched those keys in any table rather than only `[build]`.
Teach the reader to strip an optional dotted prefix and treat it as the key's table, the same way `configure.py` does when it writes the file, and scope the cargo/rustc lookup to `[build]`. New tests cover the dotted form, equivalence with the section form, wrong-table rejection, and dotted target keys.
*Disclosure: the code was written by AI (Claude); reviewed and tested by me.*
…db, r=Kobzol
Disable `tests/debuginfo/pretty-std.rs` `OsString` cdb check
## Summary
Since approx. Windows SDK 20348, the corresponding cdb (and/or its underlying WinDbg engine) changed or regressed the `OsStr`/`OsString` visualization, and no longer renders the emoji. Since approx. SDK/cdb 26100, the output formatting of the string containing UTF-8 (i.e. the multi-byte emoji grapheme) seems to have further regressed (e.g. the end quotation mark is no longer shown and command output becomes garbled).
Relevant issues:
* rust-lang#88840
* rust-lang#148743
* rust-lang#88796
This was failing for me locally on host Windows MSVC under `./x test tests/debuginfo`. And the issues re. this case failing has been open for a long while and have not been addressed, so I propose disabling this case.
I believe this is either a regression or a change in cdb and/or the underlying WinDbg. I have not bothered filing such a cdb bug report, I don't know enough about this.
The check was actually relaxed to not require the emoji to be rendered properly in the output in rust-lang#88842, but I feel like that regressed the original intention of the check (that multi-byte Unicode graphemes are properly rendered), so I just restored the original checks but commented them out.
Maybe r? @wesleywiser (or compiler)
…test-harness, r=GuillaumeGomez
rustdoc: Test & document `test_harness` code block attribute
They were fully untested and undocumented previously despite being stable.
Context: [#t-rustdoc > &rust-lang#96;test_harness&rust-lang#96; langstr @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/.60test_harness.60.20langstr/near/546748038).
While at it, I've also improved the documentation for code block attributes in general.
I was only inspired to do so because there was no good place for `test_harness` and because it got hard to skim due to a lack of subsubsections.
Fix async drop glue for Box<T>
Fixesrust-lang#143658.
This fixes async drop behavior for boxed values so that async drop glue reaches the boxed value’s async destructor in async drop context.
The change updates async-drop needs-drop analysis so `Box<T>` is handled specially for async drop by considering the boxed pointee and allocator when deciding whether async drop glue is needed.
This PR intentionally does not change the broader AsyncDrop design. It only fixes behavior under the existing `#![feature(async_drop)]` implementation.
Reviewer notes:
- `async-drop-box-allocator.rs` already covers async-dropping the allocator of a `Box`; this PR adds distinct coverage for the boxed value itself.
- Boxed dyn pointees are intentionally not pulled into this fix, preserving existing dynamic async-drop limitations.
- The change is isolated to async drop analysis; sync `needs_drop` behavior is unchanged.
@rustbot label F-async_drop
…jdonszelmann
fix improper ctypes in Znext solver
Fixesrust-lang#156352.
Implement rustc_public::CrateDef{,Type} for FieldDef
This makes a few changes to rustc_public to make it a little easier to analyze ADT types.
* It implements `CrateDef` and `CrateDefType` for `FieldDef`, which allows easy access to the underlying `DefId`, names, and tool annotations.
* It adds `Crate::adts` to simplify stepping through all the ADTs in the crate.
Note that I did use Gemini to assist with writing this patch, but I wrote most of it, reviewed all the vode, and verified the tests pass locally.
…r=JonathanBrouwer
Arg splat experiment - syntax impl
This PR is part of the argument splatting lang experiment, and FFI overloading / C++ interop project goals:
- rust-lang#153629
- https://rust-lang.github.io/rust-project-goals/2026/overloading-for-ffi.html
- https://rust-lang.github.io/rust-project-goals/2025h2/interop-problem-map.html
I've split it from rust-lang#153697 to make reviewing easier, see that PR for more details.
The PR is the initial implementation of the feature:
- `splat` incomplete feature gate
- `#[splat]` attribute on function arguments
- feature gate and UI tests for item type filtering, non-splattable arguments
Once this PR merges, I'll rebase rust-lang#153697.
…r=folkertdev
Add multibyte JSON diagnostic regression test
Closesrust-lang#157148.
This pr adds ui coverage for json diagnostics with rendered ansi output on a
source line containing multibyte text.
Current main emits the original warning without ICEing. This test maintains that
behavior.
…nder-fix, r=GuillaumeGomez
Reorder `impl` restriction rendering and add bottom margin
This PR moves the `impl` restriction rendering above the trait description.
It also adds an ⓘ marker, italicizes the text, and adds a bottom margin.
Tracking issue: rust-lang#105077
before:
<img width="1108" height="651" alt="image" src="https://github.com/user-attachments/assets/520d95cf-a648-44e7-8036-e453cfbdf569" />
after:
<img width="1085" height="671" alt="image" src="https://github.com/user-attachments/assets/84493e56-6227-433b-93d0-4fcbe28ac00c" />
r? @GuillaumeGomez
cc @Urgau@jhpratt
…ering, r=fmease
Report duplicate relaxed bounds during ast lowering
Instead of during hir-ty-lowering.
Not sure it is worth erroring on at all, but it's better to do it directly during lowering instead of collecting bounds after the fact.
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Jun 9, 2026
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-js Area: Rustdoc's JS front-end labels Jun 9, 2026
@rustbotrustbot added 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-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. labels Jun 9, 2026
@GuillaumeGomez

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@rust-bors

rust-borsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

📌 Commit e502516 has been approved by GuillaumeGomez

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Jun 9, 2026
@rust-bors

This comment has been minimized.

rust-borsBot pushed a commit that referenced this pull request Jun 9, 2026
Rollup of 10 pull requests
Successful merges:
- #157335 (bootstrap: Handle dotted table keys when parsing bootstrap.toml)
- #157503 (Disable `tests/debuginfo/pretty-std.rs` `OsString` cdb check)
- #148183 (rustdoc: Test & document `test_harness` code block attribute)
- #156067 (Fix async drop glue for Box<T>)
- #156399 (fix improper ctypes in Znext solver)
- #157410 (Implement rustc_public::CrateDef{,Type} for FieldDef)
- #157605 (Arg splat experiment - syntax impl)
- #157630 (Add multibyte JSON diagnostic regression test)
- #157633 (Reorder `impl` restriction rendering and add bottom margin)
- #157642 (Report duplicate relaxed bounds during ast lowering)
@rust-borsrust-borsBot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jun 9, 2026
@rust-bors

rust-borsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 492c116 failed: CI. Failed job:

@GuillaumeGomez

Copy link
Copy Markdown
MemberAuthor

@bors retry

@rust-borsrust-borsBot 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 Jun 9, 2026
@GuillaumeGomez

Copy link
Copy Markdown
MemberAuthor

Closing in favour of #157673.

@rust-borsrust-borsBot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jun 9, 2026
@rust-bors

rust-borsBot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved due to being closed.

@GuillaumeGomez
GuillaumeGomez deleted the rollup-Iwi31Tb branch June 9, 2026 15:53
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-run-makeArea: port run-make Makefiles to rmake.rsA-rustdoc-jsArea: Rustdoc's JS front-endrollupA PR which is a rollupS-waiting-on-authorStatus: This is awaiting some action (such as code changes or more information) from the author.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-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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@GuillaumeGomez@rustbot@rajgandhi1@jieyouxu@Dnreikronos@oli-obk@erickt@CoCo-Japan-pan@pbkx@fmease@teor2345@P8L1