Rollup of 9 pull requests#156078
Open
JonathanBrouwer wants to merge 26 commits intorust-lang:mainfrom
Open
Conversation
It has a single method and a single impl and the trait isn't directly used. It can just become an inherent method.
When you have `impl Foo for Bar` and `Bar` has no generics it's useless (and odd) to have `where Self: Baz` bounds on methods when the trait itself doesn't have those bounds. This commit removes a few.
FWIW, note that `Diagnostic` doesn't have this bound.
While reading through stuff I was noticing just how many `+1` fixes there were in various places (and comments explaining that fixup), so this adds a new inherent helper on `Local` for making an argument to help make this clearer.
It being a `Set` does not really make sense. You never really should do a `contains` on it, since you should normalize the tyvid to its root var first.
…used If a user passes an invalid name to `-Zmir-enable-passes`, print the valid names as a note. The diagnostic is duplicated, but that is not introduced by this commit. In other words, we don't make matters worse. The existing "is unknown and will be ignored" diagnostic is already duplicated. To avoid the annoyance of having to keep blessing test output, completely normalize away the list of names in the test.
Part of MCP 983.
Part of MCP 983.
Specifically: - `HashStable` -> `StableHash` (trait) - `HashStable` -> `StableHash` (derive) - `HashStable_NoContext` -> `StableHash_NoContext` (derive) Note: there are some names in `compiler/rustc_macros/src/hash_stable.rs` that are still to be renamed, e.g. `HashStableMode`. Part of MCP 983.
…r=JonathanBrouwer
Make stable hashing names consistent (part 1)
This PR starts the implementation of MCP 893. It renames the things that appear in the `HashStable` trait, changing this:
```
pub trait HashStable {
fn hash_stable<Hcx: HashStableContext>(&self, hcx: &mut Hcx, hasher: &mut StableHasher);
}
```
to this:
```
pub trait StableHash {
fn stable_hash<Hcx: StableHashCtxt>(&self, hcx: &mut Hcx, hasher: &mut StableHasher);
}
```
Details in individual commits.
This is the biggest part of the renaming. A follow-up PR will rename the remaining things.
r? @jieyouxu
Improve source code for `librustdoc/visit_ast.rs` While working on this part of rustdoc, got annoyed at the tuples and decided to transform them into types. Code is now much easier to follow. :3 r? @Urgau
…r=jackh726 Clean up some traits I was looking at various traits and found some unnecessary trait bounds, and some unnecessary traits. Details in individual commits. r? @Nadrieril
Add a `Local::arg(i)` helper constructor While reading through stuff I was noticing just how many `+1` fixes there were in various places (and comments explaining those fixups), so this adds a new inherent helper on `Local` for making an argument to help make this clearer. r? mir
…, r=JonathanBrouwer Add AcceptContext::expect_no_args
Add missing alias to mailmap Fixes rust-lang/thanks#103.
… r=WaffleLapkin Make `diverging_type_vars` a vec of `TyVid` r? @lcnr The following changes, in separate commits: * Make its elements a `TyVid`, since there should never by any other types than `TyVars` in there * Make it a vec, since it being a set doesn't make much sense. You never really should do a `contains` on it, since you should normalize the tyvids in the set to their root var first.
…li-obk Reuse CTFE MIR for constructors. For constructors, we manually build the MIR shim we want. We can just have `optimized_mir` call `mir_for_ctfe` instead of rebuilding the shim.
compiler: Print valid `-Zmir-enable-passes` names if invalid name is used If a user passes an invalid name to `-Zmir-enable-passes`, print the valid names as a note. To avoid the annoyance of having to keep blessing test output, completely normalize away the list of names in the test. The diagnostic is duplicated, but that is not introduced by this commit. In other words, we don't make matters worse. The existing "is unknown and will be ignored" diagnostic is already duplicated, as can be seen in the existing test stderr. The output is on one long line, but that makes normalization in tests easier, and I don't think we have to overdo this. We can let terminals wrap the line. <details> <summary>Click to expand current output</summary> `note: valid MIR pass names are: AbortUnwindingCalls, AddCallGuards, AddMovesForPackedDrops, AddRetag, CheckAlignment, CheckCallRecursion, CheckConstItemMutation, CheckDropRecursion, CheckEnums, CheckForceInline, CheckInlineAlwaysTargetFeature, CheckLiveDrops, CheckNull, CheckPackedRef, CleanupPostBorrowck, CopyProp, CtfeLimit, DataflowConstProp, DeadStoreElimination-final, DeadStoreElimination-initial, Derefer, DestinationPropagation, EarlyOtherwiseBranch, ElaborateBoxDerefs, ElaborateDrops, EnumSizeOpt, EraseDerefTemps, ForceInline, FunctionItemReferences, GVN, ImpossiblePredicates, Inline, InstSimplify-after-simplifycfg, InstSimplify-before-inline, InstrumentCoverage, JumpThreading, KnownPanicsLint, LowerIntrinsics, LowerSliceLenCalls, Marker, MatchBranchSimplification, MentionedItems, MultipleReturnTerminators, PostAnalysisNormalize, PreCodegen, PromoteTemps, ReferencePropagation, RemoveNoopLandingPads, RemovePlaceMention, RemoveStorageMarkers, RemoveUninitDrops, RemoveUnneededDrops, RemoveZsts, ReorderBasicBlocks, ReorderLocals, RequiredConstsVisitor, SanityCheck, ScalarReplacementOfAggregates, SimplifyCfg-after-unreachable-enum-branching, SimplifyCfg-final, SimplifyCfg-initial, SimplifyCfg-make_shim, SimplifyCfg-post-analysis, SimplifyCfg-pre-optimizations, SimplifyCfg-promote-consts, SimplifyCfg-remove-false-edges, SimplifyComparisonIntegral, SimplifyConstCondition-after-const-prop, SimplifyConstCondition-after-inst-simplify, SimplifyConstCondition-final, SimplifyLocals-after-value-numbering, SimplifyLocals-before-const-prop, SimplifyLocals-final, SingleUseConsts, SsaRangePropagation, StateTransform, StripDebugInfo, Subtyper, UnreachableEnumBranching, UnreachablePropagation, Validator` </details>
Contributor
Author
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
May 2, 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 try-job: x86_64-mingw-1 try-job: i686-msvc-2
Contributor
|
⌛ Testing commit a1a8e57 with merge 696d592... Workflow: https://github.com/rust-lang/rust/actions/runs/25250682887 |
rust-bors Bot
pushed a commit
that referenced
this pull request
May 2, 2026
…uwer Rollup of 9 pull requests Successful merges: - #156030 (Make stable hashing names consistent (part 1)) - #156020 (Improve source code for `librustdoc/visit_ast.rs`) - #156021 (Clean up some traits) - #156028 (Add a `Local::arg(i)` helper constructor) - #156037 (Add AcceptContext::expect_no_args) - #156040 (Add missing alias to mailmap) - #156048 (Make `diverging_type_vars` a vec of `TyVid`) - #156053 (Reuse CTFE MIR for constructors.) - #156059 (compiler: Print valid `-Zmir-enable-passes` names if invalid name is used) Failed merges: - #155940 (refactor rustc_on_unimplemented's filtering) - #156065 (Remove unused spans from AttributeKind)
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:
librustdoc/visit_ast.rs#156020 (Improve source code forlibrustdoc/visit_ast.rs)Local::arg(i)helper constructor #156028 (Add aLocal::arg(i)helper constructor)diverging_type_varsa vec ofTyVid#156048 (Makediverging_type_varsa vec ofTyVid)-Zmir-enable-passesnames if invalid name is used #156059 (compiler: Print valid-Zmir-enable-passesnames if invalid name is used)Failed merges:
r? @ghost
Create a similar rollup