Rollup of 10 pull requests#157530
Closed
JonathanBrouwer wants to merge 26 commits into
Closed
Conversation
When a method call fails to resolve, the suggestion machinery probes all traits for a method with the same name and builds a trait reference for the providing trait to detect duplicate trait items coming from multiple crate versions. It passed only the receiver type as the single argument, which is correct only for traits whose sole generic parameter is `Self`. For a trait with further parameters (for example `Borrow<Borrowed>`), or when the receiver type is unknown, the argument list no longer matched the trait's generics and tripped the `debug_assert_args_compatible` assertion, producing an ICE. Build the argument list with `GenericArgs::for_item` instead, using the receiver type for `Self` when known and fresh inference variables for the remaining parameters.
This reverts commit cdb73bb.
…s inheriting spawn hooks
…tests on Windows So that we don't get a bunch of console windows spawned by the debugger processes.
…eLapkin add `extern "tail"` calling convention Maps to LLVM's `tailcc` and hence inherits all its problems. This calling convention at least compiles on: - `x86_64` - `aarch64` It also compiles on - `s390x` - `loongarch64` But I've been told by target maintainers that this is kind of unintentional, and it's not tested in LLVM. For most backends LLVM does not have support and fails loudly.
…it-extra-generics-ice, r=chenyukang diagnostics: Fix ICE building a trait ref in method suggestions Fixes rust-lang#157189 When a method call doesn't resolve, the no-method-found diagnostic probes every trait for one with a same-named method and builds a trait ref for it to spot trait items duplicated across crate versions. It only ever passed the receiver as the single argument, which works only when the trait's one generic is `Self`. Call `.borrow()` on something and the probe finds `Borrow`, whose extra `Borrowed` parameter leaves the args out of step with the trait's generics, so `debug_assert_args_compatible` fires. Same crash when the receiver type isn't known and there are zero args. Now the args come from `GenericArgs::for_item`: the receiver fills `Self` when we have it, fresh inference variables cover the rest.
…hrisDenton fix windows-gnu TLS leak Running the std tests on windows-gnu [has a memory leak](https://rust-lang.zulipchat.com/#narrow/channel/269128-miri/topic/Miri.20test-libstd.20Failure.20.282026-06.29/near/599991435). After lots of false leads, here's what I found: - The `guard::enable` function needs to be called on each thread; it the ensures that when the thread finishes, cleanup is performed. - The windows `LazyKey` calls `guard::enable` in its `init` function. That means it only gets called on the first thread that accesses this key! - We have a `guard::enable` call in the `thread::spawn` path. However, when running tests, there are two copies of std, so there are two guards. `crate::thread::spawn` sets up the guard for the current crate (the one built with `cfg(test)`), but does not set up the guard for `realstd` (the std crate in the sysroot). This is a regression introduced by rust-lang#148799. Previously, `guard::enable` was pretty much a NOP on Windows so not calling it didn't cause problems. rust-lang/miri-test-libstd#123 has confirmed that this indeed fixes the leak. The first commit is a drive-by fix where I found a function name kind of confusing. r? @ChrisDenton Cc @joboet
…ystem-hack, r=Kobzol compiletest: inject `#![windows_subsystem = "windows"]` to debuginfo tests on Windows So that we don't get a bunch of console windows spawned by the debuggees. r? @Kobzol (or bootstrap/compiler)
…8472 remove solaris implementation for File::lock, it has the wrong semantics Fixes rust-lang#157390 r? @the8472
…BurntSushi
Rename `SyncView::{as_pin => as_pin_ref}`
This addresses the resolution of a naming concern from rust-lang#98407.
r? BurntSushi
…Kivooeo Move tests box Hi, I have moved some tests into the box folder. Fixes [133895](rust-lang#133895)
Revert "LLVM 23: Run AssignGUIDPass in some places" This reverts commit cdb73bb. The LLVM side change was reverted.
…s-as-struct, r=ShoyuVanilla Convert `QueryRegionConstraint` into a struct as per in fixme
std tests: skip a slow test on Miri This is just a big loop to compare exit status handling, and the loop is a bit too big for Miri.
Contributor
Author
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Jun 6, 2026
Rollup of 10 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-2
Contributor
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:
extern "tail"calling convention #157016 (addextern "tail"calling convention)#![windows_subsystem = "windows"]to debuginfo tests on Windows #157488 (compiletest: inject#![windows_subsystem = "windows"]to debuginfo tests on Windows)SyncView::{as_pin => as_pin_ref}#157521 (RenameSyncView::{as_pin => as_pin_ref})QueryRegionConstraintinto a struct #157494 (ConvertQueryRegionConstraintinto a struct)r? @ghost
Create a similar rollup