Rollup of 10 pull requests#157663
Closed
GuillaumeGomez wants to merge 26 commits into
Closed
Conversation
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.
…oad it from the per-owner info instead
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 Fixes rust-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> Fixes rust-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 Fixes rust-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 Closes rust-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.
Member
Author
|
@bors r+ rollup=never p=5 |
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
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)
Contributor
|
💔 Test for 492c116 failed: CI. Failed job:
|
Member
Author
|
@bors retry |
Member
Author
|
Closing in favour of #157673. |
Contributor
|
This pull request was unapproved due to being closed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Successful merges:
tests/debuginfo/pretty-std.rsOsStringcdb check #157503 (Disabletests/debuginfo/pretty-std.rsOsStringcdb check)test_harnesscode block attribute #148183 (rustdoc: Test & documenttest_harnesscode block attribute)implrestriction rendering and add bottom margin #157633 (Reorderimplrestriction rendering and add bottom margin)r? @ghost
Create a similar rollup