Rollup of 6 pull requests - #160980
Conversation
Canonical responses can return query-created placeholders through opaque type constraints. Record empty assumptions when recreating those universes in the caller so eager placeholder handling does not ICE.
Keep the original compile-fail reproducer as the ICE guard and add check-pass coverage for a valid `Trait` implementation while clarifying the assumptions workaround.
Same-shape code with `impl Trait for ()` still ICEs on nightly. The rewritten check-pass never hit that path, so it was not a useful guard. Document that on the remaining regression test.
Avoid the unrelated `(): Trait` error while keeping the same shape that still ICEs on nightly. Drop the check-pass note from the comment.
It's always `Certainty::Maybe`, so we can trim it down to just the `MaybeInfo` that is within `Certainty::Maybe`. And then the same change can be made to the field of `RerunStalled::WontMakeProgress`, and `goal_remains_stalled` can return a bool, and a hot `matches!` in `try_evaluate_obligations` that never failed can be removed.
One of the unfortunate side-effects of having non-trivial code in the crate root is that any imports they need also function as crate-wide re-exports, gunking up import paths throughout the crate.
This variant was never constructed anywhere.
bootstrap: Avoid some unnecessary imports from the crate root One of the unfortunate side-effects of having non-trivial code in the crate root is that any imports they need also function as crate-wide re-exports, gunking up import paths throughout the crate. --- There is more import cleanup that could be done, along with related tasks like moving items out of `lib.rs` or reducing item visibility. I decided to stop here to avoid cramming too much into one PR. There should be no changes to bootstrap's behaviour.
…_response_assumptions, r=lcnr trait solver: Track canonical response universe assumptions Fixes rust-lang#159889 Canonical responses recreate universes for placeholders created while evaluating a query. Region constraints are handled inside the query, but opaque type constraints can still carry those placeholders back to the caller. Without an assumptions entry, eager placeholder handling hits the `unwrap()` in `get_placeholder_assumptions`. Record empty assumptions when recreating response universes under `-Zassumptions-on-binders`. idk if empty assumptions is the final shape irl, but imo keeping this next to `create_next_universe` is the right local fix. It restores the invariant where the universe enters the caller and matches bookkeeping from other binder entry paths. fyi the issue repro now reports E0277 instead of ICEing.
…maybe_info, r=lcnr Trim `GoalStalledOn::Certainty` It's always `Certainty::Maybe`, so we can trim it down to just the `MaybeInfo` that is within `Certainty::Maybe`. r? @lcnr
Add `TypeId::is_signed` method Tracking issue rust-lang#146922 r? @oli-obk
…ddl-test, r=folkertdev sve: add addl. passing test for field projection Adding additional test from [#t-libs/stdarch > CI is broken @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/208962-t-libs.2Fstdarch/topic/CI.20is.20broken/near/615620739). I didn't use `minicore` for this test because it doesn't work with `--test`, and similarly cannot use `--target aarch64-unknown-linux-gnu` for the test because without minicore, it would fail on other targets. I confirmed that this fails without rust-lang#160642. r? @folkertdev
…u001999 Remove `MutatingUseContext::Retag` This variant was never constructed anywhere.
This comment has been minimized.
This comment has been minimized.
Rollup of 6 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
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: ab8058aa09 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing ab8058a (parent) -> c98d0cb (this PR) Test differencesShow 69 test diffsStage 1
Stage 2
Additionally, 62 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard c98d0cb27cc63afdd62602a52eb4feb8a1c682dd --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (c98d0cb): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (primary 1.6%, secondary 0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -3.7%, secondary 0.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 478.868s -> 458.072s (-4.34%) |
Successful merges:
GoalStalledOn::Certainty#160886 (TrimGoalStalledOn::Certainty)TypeId::is_signedmethod #160925 (AddTypeId::is_signedmethod)MutatingUseContext::Retag#160977 (RemoveMutatingUseContext::Retag)r? @ghost
Create a similar rollup