Rollup of 11 pull requests - #160383
Closed
JonathanBrouwer wants to merge 77 commits into
Closed
Conversation
Add UI coverage for source-shaped local values before changing the renderer. The new cases exercise structs, enum variants, tuples, arrays, slices, and fallback leaf values so later commits can bless one behavior change at a time.
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
This updates the rust-version file to dfbea5b.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: rust-lang/rust@dfbea5b Filtered ref: rust-lang/miri@770df83 Upstream diff: rust-lang/rust@390279b...dfbea5b This merge was created using https://github.com/rust-lang/josh-sync.
…e-buffer skip weak memory buffer handling when there is only one thread
Automatic Rustup
Route local value rendering through a source-shaped renderer helper. At this step the helper still delegates leaves and unsupported shapes back to the existing raw byte renderer, so the behavioral changes can land in focused follow-up commits.
Render struct and struct-like ADT operands using their source field names.
Fields are projected from the operand and each leaf still uses the existing raw
renderer, producing output such as `Point { x: [..], y: [..] }` without relying
on user Debug or Display implementations.
Extend source-shaped ADT rendering to enum operands. The renderer reads the runtime discriminant, downcasts to the active variant, and then renders the payload fields with the same raw-leaf fallback used for struct fields. Unit, tuple, and struct variants keep their Rust-like spelling.
Render tuple operands as positional source-shaped values. Tuple elements are projected in source order and rendered through the existing leaf renderer, including the trailing comma for one-element tuples.
Render array and slice operands as ordered source-shaped elements. Fixed arrays use their layout count while slices use the runtime metadata length, then `project_array_fields` supplies the element operands for raw-leaf rendering.
This updates the rust-version file to d3ea035.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: rust-lang/rust@d3ea035 Filtered ref: rust-lang/miri@7c697be Upstream diff: rust-lang/rust@dfbea5b...d3ea035 This merge was created using https://github.com/rust-lang/josh-sync.
…t-comment fix `ptr_from_addr_cast` comment
Automatic Rustup
…s-and-types-handling [Priroda] Render projected locals with source-shaped values
Implement shims for vsha256hq_u32, vsha256h2q_u32, vsha256su0q_u32 and vsha256su1q_u32
Matches the naming already used in the aarch64 SHA256 shims.
…ntrinsics aarch64: implement SHA256 intrinsic shims
…r=clarfonthey Move `std::io` tests to `alloctests` & add prelude ACP: rust-lang/libs-team#755 Tracking issue: rust-lang#154046 ~~Blocked on: rust-lang#158548~~ ## Description * Moves tests out of `std::io` into `alloctests` now that the relevant items are fully available from `alloc::io`. * Adds documentation to `alloc::io` * Adds prelude modules to `core::io` and `alloc::io`. --- ## Notes * No AI tooling of any kind was used during the creation of this PR.
… r=Amanieu Stabilize passing 128-bit integers via vector registers with `asm!` on x86 tracking issue: rust-lang#133416 reference PR: rust-lang/reference#2313 # Stabilization report ## Summary Stabilize passing 128-bit integers via vector registers with `asm!` on x86 and x86_64: ```rust // Use 128-bit integers with vector registers. let mut v = 0u128; asm!("/* {:x} */", in(xmm_reg) v); asm!("/* {:x} */", out(xmm_reg) v); asm!("/* {:y} */", in(ymm_reg) v); asm!("/* {:y} */", out(ymm_reg) v); asm!("/* {:z} */", in(zmm_reg) v); asm!("/* {:z} */", out(zmm_reg) v); ``` 32-bit and 64-bit integer types can already be passed via vector registers. LLVM has supported 128-bit integers since 2019, see llvm/llvm-project#42502, so `rustc` not supporting them seems like an oversight. This feature is part of [`asm_experimental_reg`](rust-lang#133416). We're not stabilizing that feature as a whole, but only pull out part of it. ## History - rust-lang#151059 ## Open questions None. r? Amanieu
Specialize `advance_by` method of `Fuse` `advance_by` is used a lot internally so it seems important to specialize it.
…s, r=mejrs borrowck: Simplify deps to build compiler 30s faster `rustc_borrowck` uses two helpers from `rustc_traits`. One of them is re-exported from `rustc_trait_selection`, and the other can easily move to `rustc_trait_selection`. Making `rustc_borrowck` use these helpers from `rustc_trait_selection` directly, and eliminating the `rustc_traits` dependency, allows starting to build `rustc_borrowck` earlier, which substantially speeds up building the compiler because `rustc_borrowck` is one of the last things to build. On my system, this speeds up the rustc build by a little over 30s.
miri subtree update Subtree update of `miri` to rust-lang/miri@29e6073. Created using https://github.com/rust-lang/josh-sync. r? @ghost
…htriplett Allow only implementing `Read::read_buf` This PR allows users to only implement `Read::read_buf`, without the need for implementing `Read::read`. `rustc_must_implement_one_of` annotation ensures that **at least** one of the methods is implemented, so that the default impls don't create infinite recursion. Note that `Read::read_buf` is unstable, so this doesn't change anything on stable, there you still need to implement `Read::read`, since you can't implement `Read::read_buf`. Thus, we don't expose `rustc_must_implement_one_of` to stable. r? @thomcc
tests: prefer max-llvm-major-version over open LLVM ranges Per review, take option 3: replace open `ignore-llvm-version` ranges with `max-llvm-major-version`. Left gdb `X - 99.0` ranges alone so CI's older gdb still runs those tests. Fixes rust-lang#159338.
allocations are allowed to grow (but not shrink) This got permitted on the LLVM side about a year ago (llvm/llvm-project#141338), but didn't require any code changes since LLVM's optimizations were already compatible with growing allocations. That said, LLVM assumes that allocations created via operations it recognizes (e.g. `malloc`, `alloca`, or the Rust global allocator operations) never change their size, so we have to exclude that case. This resolves a part of rust-lang/unsafe-code-guidelines#430. It may seem strange that allocations can grow but not shrink, but we did have multiple users show up in #t-opsem with exactly that request. Cc @nhusung @foonathan; see [here](https://rust-lang.zulipchat.com/#narrow/channel/136281-t-opsem/topic/Shrinking.20allocations.20in-place/near/612181257) and [here](https://rust-lang.zulipchat.com/#narrow/channel/136281-t-opsem/topic/Shrinking.20allocations.20in-place/near/612191402) for some details about their use-cases. Cc @rust-lang/opsem @rust-lang/lang
…parent-map, r=fee1-dead fix: Do not stop `visible_parent_map` breadth-first search reaching children of `#[doc(hidden)]` modules The `visible_parent_map` query misses putting the child items of `#[doc(hidden)]` modules into the queue, resulting in the breadth-first search missing them entirely. This results in inconsistent path printing behavior affecting diagnostics: namely that re-exports nested deeply within `#[doc(hidden)]` modules are not considered as a possible fallback path. See the linked issue (rust-lang#159880) for more details and an example of how this manifests in diagnostics. This PR makes sure that `#[doc(hidden)]` parents in the fallback map are still searched as part of the breadth-first search. Fixes rust-lang#159880. The two tests for this change are based on the inconsistent diagnostics shown in the issue: * `tests/ui/suggestions/suggest-path-through-direct-dep-crate/hidden-reexport-of-transitive-dep-item.rs` captures the current, expected behavior in the already working base case where the hidden module is still recorded in the fallback map; * `tests/ui/suggestions/suggest-path-through-direct-dep-crate/hidden-reexport-of-nested-transitive-dep-item.rs` is a regression test for the breadth-first search covering nested children of `#[doc(hidden)]` modules to populate the fallback map by testing whether the diagnostic prefers the hidden but accessible path through the direct dependency crate. Related PRs/issues: * rust-lang#87349 * rust-lang#153477
…, r=petrochenkov Add regression test for bool indexing codegen Fixes rust-lang#123216
Contributor
Author
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 2, 2026
Rollup of 11 pull requests try-job: dist-various-1 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 try-job: i686-msvc-*
Collaborator
|
The job Click to see the possible cause of the failure (guessed by this bot) |
Contributor
|
PR #159977, which is a member of this rollup, was unapproved. This rollup was thus unapproved. |
Contributor
|
💔 Test for bd373a8 failed: CI. Failed jobs:
|
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:
mutrestrictions #159906 (Semantic check ofmutrestrictions)std::iotests toalloctests& add prelude #156527 (Movestd::iotests toalloctests& add prelude)asm!on x86 #159525 (Stabilize passing 128-bit integers via vector registers withasm!on x86)advance_bymethod ofFuse#160342 (Specializeadvance_bymethod ofFuse)Read::read_buf#106643 (Allow only implementingRead::read_buf)visible_parent_mapbreadth-first search reaching children of#[doc(hidden)]modules #159881 (fix: Do not stopvisible_parent_mapbreadth-first search reaching children of#[doc(hidden)]modules)r? @ghost
Create a similar rollup