Automatic Rustup - #5313
Merged
Merged
Conversation
Avoid the `arena_cache` modifier for several queries The `arena_cache` query modifier is convenient, but we can potentially avoid some overhead by allocating values into the central `tcx.arena` when possible. There should be no change to compiler output.
Use query for Variant InhabitedPredicate It looks like there may be some benefit from caching.
Implement test- naming convention for CI jobs This PR implements a naming convention for all jobs. Either they have to start with `dist-` (jobs that build artifacts) or `test-` (jobs that test stuff). It also performs some other minor cleanups and sorts the jobs, to make it easier to search through them in the GitHub UI. r? jieyouxu
miri: enforce proper types for c-variadic arguments in shims This adds proper type checks for c-variadic argument handling in Miri shims. So far we would have ICEd for many type mismatches since the innards of the interpreter generally assume that things are well-typed. The checks we are using are the same as for [`next_arg`](https://doc.rust-lang.org/nightly/std/ffi/struct.VaList.html#method.next_arg). This uncovered some interesting points: - We should accept `&mut` as equivalent to `*mut`. We don't allow `&mut` as a type in `next_arg` but we do allow it for c-variadic calls, so this change also affects a bit more code in const-eval (if the caller passes an `&mut` and the callee expects a `*mut`). Even CFI is okay with treating `&mut` and `*mut` as equivalent so this should be fine. Cc @folkertdev - Some places in the standard library futex handling used types for their variadic arguments that are not quite correct according to these rules. I fixed those. Cc @m-ou-se - One variadic function takes pointers to `libc::timespec`. A program with a libc dependency has two copies of libc (one in the sysroot, and the normal dependency). When Miri looks up the expected argument type, it picks one of them, leading to Miri seeing a type mismatch when there is a call using the other copy. C generally considers two copies of the same type to be identical, so I implemented logic that does the same: two `repr(C)` types are "identical" if the names of the types, and the names and types of all fields, are identical. I then also used that logic for the normal ABI checks, where it will also help since we had similar trouble there in the past (that we had to find other work-arounds for).
Add missing option to `-Zself-profile-event` help message as well as information about what the default options are The `query-cache-hit-count` option was forgotten to be added to the help text when it was added. The new help text also documents which of the options are part of `default`, and now conveys the information that `args` is also a compound/group option and what it contains.
Minimize `DiagCtxt` methods We have `DiagCtxt`, `DiagCtxtInner`, and `DiagCtxtHandle`. They're all necessary, but the method placement is inconsistent. This commit establishes a clearer rule: methods should *not* go on `DiagCtxt` whenever possible. Benefits: - Simpler rule for deciding where to put a method. - `impl Deref for DiagCtxtHandle` can be removed, including its non-standard double-reference `&&'a DiagCtxt` return value. This makes it impossible to accidentally discard a taint target by calling `handle` on a `DiagCtxtHandle`. - Catches some places where we were calling `dcx.handle()` when `dcx` was already a handle. r? @oli-obk
…li-obk Add a mention to docs about promoting and demoting platform support I wanted to jump from the target support page and learn about how these targets are promototed/demoted but couldn't find a direct link for that. Would it make sense to link the (great) [forge docs](https://forge.rust-lang.org/compiler/proposals-and-stabilization.html#targets) about that? r? @jieyouxu No LLM was harmed when writing these 2 sentences.
…uwer Rollup of 5 pull requests Successful merges: - rust-lang/rust#162470 (Subtree sync for rustc_codegen_cranelift) - rust-lang/rust#161734 (miri: enforce proper types for c-variadic arguments in shims) - rust-lang/rust#161821 (Add missing option to `-Zself-profile-event` help message as well as information about what the default options are) - rust-lang/rust#162453 (Minimize `DiagCtxt` methods) - rust-lang/rust#162528 (Add a mention to docs about promoting and demoting platform support)
Drop host tools from `i686-pc-windows-msvc` Implements [RFC 3999](rust-lang/rfcs#3999). Fixes rust-lang/rust#158378 I have collapsed two test jobs into one because the second one no longer runs any tests: rust-lang/rust#162288 (comment)
…ype_op_constraints, r=BoxyUwU Revert "trait_selection: Keep type-op region constraints in borrowck" This reverts rust-lang/rust#161423. Boxy pointed out the problem after it landed: the code I touched there runs a lot, and I made it do the new region constraint work every time, even when assumptions-on-binders is off and the constraint is just `true`. So in the common case you end up paying for building and carrying around something nobody ever looks at. Fair point, and honestly I should have seen it myself while writing it. I was thinking about getting the correctness right and not really about how often those functions get called. The plan is to revert now and then re-land the same thing with the new logic behind checks for whether AoB is actually on, so we can get a perf run and look at real numbers instead of guessing. There is nothing clever in this PR. It is just `git revert -m 1` on the rollup merge, so the diff is the exact opposite of what went in. It applied with no conflicts on current main and `x check compiler` is fine, which I wanted to confirm because rust-lang/rust#162238 landed after this one and touches some of the same files. r? @BoxyUwU
This updates the rust-version file to 315ecf4a939def16631c2b25c3782ad67fc22160.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: rust-lang/rust@315ecf4 Filtered ref: e8c919d Upstream diff: rust-lang/rust@f248f40...315ecf4 This merge was created using https://github.com/rust-lang/josh-sync.
Member
|
Oh, right, rust-lang/rust#162288 would break our CI... |
RalfJung
force-pushed
the
rustup-2026-09-10
branch
from
September 10, 2026 06:43
10e312e to
5f78c8b
Compare
RalfJung
enabled auto-merge
September 10, 2026 06:43
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.
Merge ref '315ecf4a939d' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: rust-lang/rust@315ecf4
Filtered ref: e8c919d
Upstream diff: rust-lang/rust@f248f40...315ecf4
This merge was created using https://github.com/rust-lang/josh-sync.