Rollup of 9 pull requests - #161766
Closed
JonathanBrouwer wants to merge 38 commits into
Closed
Conversation
A naive `f32::mul_add(a as f32, b as f32, c as f32) as f16` has insufficient precision
update dependencies
…when-reliable run `f16` and `f128` tests natively when reliable
port all variadic functions to strict signature checking
These non-obvious things are worth documenting.
run _Unwind_RaiseException test on Windows
unify shim_sig and shim_sig_variadic macros
Custom allocators do not get noalias after all
This updates the rust-version file to 9bb55c8.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: rust-lang/rust@9bb55c8 Filtered ref: rust-lang/miri@89242b0 Upstream diff: rust-lang/rust@c656540...9bb55c8 This merge was created using https://github.com/rust-lang/josh-sync.
when I updated Rust for MSYS, I got errors from gcc regarding -Wl,--compress-debug-sections=zlib flag being unsupported. so don't add it for all Cygwin hosts
add internal DSL for testing binders implements rust-lang/project-assumptions-on-binders#8 apologies to the inevitable swarm of people who get pinged for this... basically the only interesting diff is `compiler/rustc_hir_analysis/src/check/wfcheck.rs`, which actually implements the test. there's probably still features we want to add to this DSL (e.g. `RegionConstraint::AliasTyOutlivesViaEnv`), and there might be some bugs lurking, but this is at least a base to work off of. It's perma-unstable and for internal use only, so support and quality doesn't have to be incredibly high. For example, parser recovery and whatnot is just, bad, but whatever. r? BoxyUwU
Fix debugger visualizer tuple child ordering w/ PDB debug info see: llvm/llvm-project#218613 for an explanation of the issue. tl;dr, PDB fields reflect rustc's reordering, whereas DWARF fields are in source-code-order. This causes issues with `GetChildAtIndex` in cases where both DWARF- and PDB-based types can interact with them. This PR uses field names to retrieve field indexes, rather than blindly indexing into the field array. I did a quick scan over the rest of the `GetChildAtIndex` calls, and they all fall under a few safe cases 1. in DWARF or PDB specific providers (mainly enum discriminants, which can't be reordered anyway) 2. used to get field `0` of a struct with only 1 field 3. in the summary provider where we're typically already interacting with the synthetic value and synthetic children anyway cc rust-lang#161657, fixes `tests/debuginfo/tuple-struct.rs` on `windows-msvc` <details><summary>`windows-msvc` `tests/debuginfo` results with this change</summary> ``` failures: [debuginfo-lldb] tests\debuginfo\associated-types.rs [debuginfo-lldb] tests\debuginfo\borrowed-basic.rs [debuginfo-lldb] tests\debuginfo\borrowed-unique-basic.rs [debuginfo-lldb] tests\debuginfo\basic-types-globals.rs#no-lto [debuginfo-lldb] tests\debuginfo\borrowed-tuple.rs [debuginfo-lldb] tests\debuginfo\boxed-struct.rs [debuginfo-lldb] tests\debuginfo\captured-fields-2.rs [debuginfo-lldb] tests\debuginfo\cross-crate-spans.rs [debuginfo-lldb] tests\debuginfo\coroutine-locals.rs [debuginfo-lldb] tests\debuginfo\box.rs [debuginfo-lldb] tests\debuginfo\captured-fields-1.rs [debuginfo-lldb] tests\debuginfo\c-style-enum-in-composite.rs [debuginfo-lldb] tests\debuginfo\by-value-self-argument-in-trait-impl.rs [debuginfo-lldb] tests\debuginfo\destructured-for-loop-variable.rs [debuginfo-lldb] tests\debuginfo\dummy_span.rs [debuginfo-lldb] tests\debuginfo\evec-in-struct.rs [debuginfo-lldb] tests\debuginfo\destructured-fn-argument.rs [debuginfo-lldb] tests\debuginfo\destructured-local.rs [debuginfo-lldb] tests\debuginfo\generic-struct.rs [debuginfo-lldb] tests\debuginfo\issue-22656.rs [debuginfo-lldb] tests\debuginfo\basic-types-globals.rs#lto [debuginfo-lldb] tests\debuginfo\lexical-scope-in-if.rs [debuginfo-lldb] tests\debuginfo\lexical-scope-in-stack-closure.rs [debuginfo-lldb] tests\debuginfo\lexical-scope-in-unconditional-loop.rs [debuginfo-lldb] tests\debuginfo\lexical-scope-with-macro.rs [debuginfo-lldb] tests\debuginfo\lexical-scope-in-unique-closure.rs [debuginfo-lldb] tests\debuginfo\lexical-scope-in-if-let.rs [debuginfo-lldb] tests\debuginfo\lexical-scopes-in-block-expression.rs [debuginfo-lldb] tests\debuginfo\method-on-generic-struct.rs [debuginfo-lldb] tests\debuginfo\lexical-scope-in-while.rs [debuginfo-lldb] tests\debuginfo\lexical-scope-in-for-loop.rs [debuginfo-lldb] tests\debuginfo\name-shadowing-and-scope-nesting.rs [debuginfo-lldb] tests\debuginfo\no_mangle-info.rs [debuginfo-lldb] tests\debuginfo\packed-struct-with-destructor.rs [debuginfo-lldb] tests\debuginfo\pretty-slices.rs [debuginfo-lldb] tests\debuginfo\packed-struct.rs [debuginfo-lldb] tests\debuginfo\reference-debuginfo.rs [debuginfo-lldb] tests\debuginfo\simple-struct.rs [debuginfo-lldb] tests\debuginfo\simple-lexical-scope.rs [debuginfo-lldb] tests\debuginfo\shadowed-variable.rs [debuginfo-lldb] tests\debuginfo\simple-tuple.rs [debuginfo-lldb] tests\debuginfo\shadowed-argument.rs [debuginfo-lldb] tests\debuginfo\struct-with-destructor.rs [debuginfo-lldb] tests\debuginfo\strings-and-strs.rs [debuginfo-lldb] tests\debuginfo\struct-in-struct.rs [debuginfo-lldb] tests\debuginfo\pretty-std-collections.rs [debuginfo-lldb] tests\debuginfo\tuple-in-tuple.rs [debuginfo-lldb] tests\debuginfo\thread-names.rs#win [debuginfo-lldb] tests\debuginfo\vec-slices.rs [debuginfo-lldb] tests\debuginfo\var-captured-in-sendable-closure.rs [debuginfo-lldb] tests\debuginfo\var-captured-in-stack-closure.rs [debuginfo-lldb] tests\debuginfo\var-captured-in-nested-closure.rs test result: FAILED. 244 passed; 52 failed; 223 ignored; 0 measured; 0 filtered out; finished in 13.22s ``` </details>
miri subtree update I want to add proper vararg checks for Miri's shims but it turns out I'll have to adjust the rustc side for this. It'll be easier to just do the entire thing as a rustc patch, but that needs a sync first. --- Subtree update of `miri` to rust-lang/miri@40000c5. Created using https://github.com/rust-lang/josh-sync. r? @ghost
make trivial ABI check resilient against new repr There's currently no way to exhaustively match on "what basic `repr` is this", which is kind of fragile as it means a new repr will get whatever the `else` branch happens to be everywhere. Changing this would be a major refactor, but let's at least make it possible to `assert!` that we covered all the cases by adding an explicit way to check for `repr(Rust)`.
…nded, r=tgross35 test `f16::mul_add` not double-rounding the result test the precision of `f16::mul_add`. The semantics of `mul_add` are that there should only be one rounding of the final result back into the storage type, i.e. the intermediate result of the multiplication should not be rounded. A naive implementation of `f16::mul_add` as `f32::mul_add(a as f32, b as f32, c as f32) as f16` has insufficient precision, see llvm/llvm-project#98389. Our `rustc_codegen_gcc` backend still used the `f32` approach, this PR changes it to instead (implicitly) use the fallback body from `core`, which uses `f64::mul_add` so that the result is correctly rounded.
…ts, r=jdonszelmann Add two comments relating to new-solver performance These non-obvious things are worth documenting. r? @jdonszelmann
Add codegen test for static table search loop unrolling Adds a test for reported case in rust-lang#44041. The follow up case in that issue is still open so this does not close it
…=Kobzol do not compress debuginfo for Cygwin when I updated Rust for MSYS, I got errors from gcc regarding -Wl,--compress-debug-sections=zlib flag being unsupported. so don't add it for all Cygwin hosts r? @Kobzol
Member
Author
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 25, 2026
Rollup of 9 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-1 try-job: aarch64-apple-2 try-job: x86_64-mingw-1 try-job: i686-msvc-1 try-job: i686-msvc-2
Contributor
|
This pull request was unapproved due to being closed. |
Contributor
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:
(try_)maponBox,Rc,Arc#161617 (Add custom allocators to(try_)maponBox,Rc,Arc)f16::mul_addnot double-rounding the result #161522 (testf16::mul_addnot double-rounding the result)r? @ghost
Create a similar rollup