Rollup of 9 pull requests - #160867
Conversation
Canonicalize and evaluate next-gen region constraints before query response canonicalization so equivalent constraints merge structurally.
Cover the dyn object supertrait case that used to leave equivalent next-gen region constraints in different shapes.
These were broken by PR rust-lang#150885, commit f2dd932
…ize_next_gen_regions, r=BoxyUwU,lcnr trait_solver: normalize next-gen region constraints fixes rust-lang#157729 -zassumptions-on-binders can produce next-gen region constraints that mean the same thing but don't have the same shape. in this case object candidate merging stayed ambiguous and instance resolution later hit the ice. imo normalizing the constraint at the response boundary is the least weird place for this, because candidate selection shouldn't need to know which vtable looks nicer. canonicalize and evaluate the next-gen region constraint before response canonicalization, then cover the dyn derived<p> supertrait case from the issue. lgtm locally with the focused test, tests/ui/traits/next-solver, and tests/ui/assumptions_on_binders. idk if there's a better home for the helper call, but ltm this keeps the fix pretty narrow.
Do not eagerly download rustfmt in bootstrap I'm continuing my bootstrap refactorings with the goal of avoiding eager download of stuff during config parsing, which makes the config parse step more complicated. An added benefit is that `rustfmt`, together with its `librustc_driver`, is now only downloaded on-demand. So unless you use `x fmt` or `x test tidy`, those two components won't be downloaded unnecessarily (both locally and on CI). Best reviewed commit-by-commit. r? @jieyouxu
…folkertdev mir: prohibit projection into scalable vec Fixes rust-lang#160580. Preventing projections into scalable vectors is an oversight from the initial implementation and something we should fix. I'm surprised it caused a stdarch CI failure as reported by rust-lang#160580, as nothing in rustc or stdarch seems to have changed that would have caused that to start happening as far as I can tell. This likely won't fix that stdarch CI failure if it keeps happening, because if there is a projection coming from somewhere then that needs to be fixed - nevertheless, preventing them as in this patch is the right thing to do. I've tested this against the stdarch CI locally.
…ace, r=WaffleLapkin MaybeDangling: ensure references fit inside the address space In the RFC we left open the question of the exact validity invariant for references inside `MaybeDangling`. This PR implements the strictest invariant I can think of: we already require references to be aligned, now we also require "addr + size" to be computable without overflow. This ensures that whatever niches we add to references in the future, `MaybeDangling` preserves those niches. Cc @rust-lang/opsem @WaffleLapkin Tracking issue: rust-lang#118166 r? @oli-obk
Use recognizer functions for enums and tuple structs Non-urgent, but related to rust-lang#160331 We currently shove most user defined types through `synthetic_lookup` as I hadn't gotten around to using type recognizers yet. If we want tests to skip outputting types when the type doesn't have a visualizer, we should also not attach a (useless) visualizer to most UDTs. The only things `synthetic_lookup` catches that aren't already caught by the regexes are tuple-structs and sum-type enums. This patch adds targeted type recognizers for those, and no longer sends types through `synthetic_lookup` at all on LLDB 19+ this doesn't affect `pretty-std.rs` since all those types have visualizers, but it will affect other tests if/when they're converted (e.g. `tests/debuginfo/struct-in-struct.rs`) r? @Kobzol, @jieyouxu
…athroot, r=mejrs Fix inaccurate description for crate and pathroot Same as https://github.com/bb1yd/rust/blob/8ab9fdff5a91b9f2b5ed57fb0275452d9a0d0280/compiler/rustc_resolve/src/diagnostics/impls.rs#L3027-L3035
…=clarfonthey Docs & bors: Replace mentions of libs-api with libs Per [the libs refactor RFC](rust-lang/rfcs#3984), libs-api will not exist anymore soon & so replace mentions of it with libs.
…ed-vita, r=joboet Fix references to unsupported on sys::paths::unix Compilation was seemingly broken by PR rust-lang#150885, commit f2dd932, by removing one of the nested `mod`s. I'm one of the `armv7-sony-vita-newlibeabihf` target maintainers. Summary of changes for affected targets: - `armv7-sony-vita-newlibeabihf`: now compiles - `armv6k-nintendo-3ds`: still doesn't compile, apparently due to an issue introduced in rust-lang#158168, which should be fixed by rust-lang#160170 - all espidf targets: I haven't compiled any of them as I don't have the toolchain installed, but it should be on the same as 3DS. The same errors can be seen in [does-it-build](https://does-it-build.noratrieb.dev/build?nightly=2026-08-09&target=xtensa-esp32s3-espidf&mode=std)
Use `remove_dir_all` for `./x clean` This should work better in most cases (and be faster) particularly on Windows. I've left the old implementation more or less intact to provide diagnostics on failure. But it could be removed if desired.
This comment has been minimized.
This comment has been minimized.
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
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: ef20314466 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 ef20314 (parent) -> 12c36e2 (this PR) Test differencesShow 40 test diffsStage 1
Stage 2
Additionally, 26 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 12c36e2539c54397c51d6ea4401defd8768a4f5b --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 (12c36e2): 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 (secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -0.4%)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: 455.478s -> 456.796s (0.29%) |
Successful merges:
remove_dir_allfor./x clean#160852 (Useremove_dir_allfor./x clean)Failed merges:
main.rsa stub that calls into the library crate #160829 (bootstrap: Makemain.rsa stub that calls into the library crate)r? @ghost
Create a similar rollup