Rollup of 7 pull requests - #160879
Conversation
When diagnostics replay proof tree state, rebuilding a canonical state can fail to match the current inference state. With -Znext-solver=globally, this could panic because inference variables created to replay a canonical state were placed in the wrong universe relative to placeholders bound by the same state. Fix this by threading a `prev_universe` through proof tree replay: `InspectGoal` now stores the caller-side universe at the time the goal was created, and `instantiate_canonical_state` reuses that same base universe (instead of recomputing it) when creating any replay-only fresh variables and when reconstructing placeholders from the canonical state, ensuring all canonical states for a single goal share a consistent universe mapping. Add a regression test for the higher-ranked PartialEq and PartialOrd case. Signed-off-by: Vicente Gusmão <vicente.gusmao@tecnico.ulisboa.pt>
- Add rust_2018_idioms warn in Cargo.toml to catch elided lifetimes and other 2018-idiom lints, matching Miri crate-level lint policy. - Add ./x check src/tools/miri/priroda to bootstrap CI step. - Add cargo clippy --all-targets --locked -- -D warnings step to priroda CI job.
`[const]` bounds, i.e. `HostEffectClause`s, are clauses
Co-authored-by: Kivooeo <Kivooeo123@gmail.com>
Co-authored-by: s7tya <53410646+s7tya@users.noreply.github.com>
Add an inherent `to_string()` method to `ByteStr` and `ByteString` that returns `Result<String, Utf8Error>`, overriding the `to_string()` method made available by the blanket implementation of `ToString` for all types that implement `Display`. Gate the new `to_string()` methods, and the existing `Display` implementations, behind a new feature flag, `bstr_to_string`.
…li-obk [Priroda] Add bootstrap test and check steps The priroda crate lives under src/tools/miri/priroda and shares miri's sysroot and toolchain setup, so register a test step that mirrors the existing miri one and a check step alongside cargo-miri. r? oli-obk
… r=JonathanBrouwer Fix `visible_parent_map` fallback map merging perf regression This PR attempts to fix the `visible_parent_map` perf regression introduced in rust-lang#160464, which was found in a [post-merge perf run](rust-lang#160464 (comment)). Because the original PR fixes unnecessary iterations in the breadth-first search (BFS), meaning that it only reduces the amount of work during the BFS, the likely cause of the perf regression is the changed merging of the fallback map into the final visible parent map after the BFS. The goal of this PR is to determine whether this is the case through a perf try run. The change itself works around the Unord* APIs, but might be worth it to work around the perf regression.
Diagnostics ICE when replaying proof trees with next-solver When diagnostics replay proof tree state, rebuilding a canonical state can fail to match the current inference state. With -Znext-solver=globally, this could panic while reporting an error, avoiding the panic. Make proof tree replay fallible in diagnostics and fall back to the current obligation when replay fails. Add a regression test for the higher-ranked PartialEq and PartialOrd case. Fixes rust-lang#151304.
…=lcnr Ensure inferred let pattern types are well-formed same as rust-lang#157013 but with crater and fpc r? lcnr
… r=clarfonthey Implement `to_string()` on `ByteStr` and `ByteString`
Add regression test for assoc const panic ICE in match Closes rust-lang#91514, The associated const panic!() in a match used to ICE and now fails const eval cleanly
…r=oli-obk Rename `HostEffectPredicate` to `HostEffectClause` Part of rust-lang#107250 r? oli-obk
This comment has been minimized.
This comment has been minimized.
Rollup of 7 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: fdda4c6a30 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 fdda4c6 (parent) -> 0e72e32 (this PR) Test differencesShow 20 test diffsStage 1
Stage 2
Additionally, 7 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 0e72e3266cdd2fe5a658aff454a778a88e5220a3 --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 (0e72e32): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 2.7%, secondary 0.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 1.0%)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.828s -> 454.011s (-0.40%) |
|
Improvements from #160811 |
Successful merges:
visible_parent_mapfallback map merging perf regression #160811 (Fixvisible_parent_mapfallback map merging perf regression)to_string()onByteStrandByteString#159300 (Implementto_string()onByteStrandByteString)HostEffectPredicatetoHostEffectClause#160864 (RenameHostEffectPredicatetoHostEffectClause)r? @ghost
Create a similar rollup