Stall auto trait assembly in new solver for int/float vars#109752
Merged
bors merged 1 commit intorust-lang:masterfrom Apr 11, 2023
Merged
Conversation
Collaborator
|
Some changes occurred to the core trait solver cc @rust-lang/initiative-trait-system-refactor |
lcnr
reviewed
Mar 30, 2023
ea14918 to
0b7cae5
Compare
Contributor
Author
Contributor
|
@bors r+ rollup |
Collaborator
|
📌 Commit 0b7cae532dff143bbf722ff92bfe1b65c4227f53 has been approved by It is now in the queue for this repository. |
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Apr 10, 2023
Rollup of 6 pull requests Successful merges: - rust-lang#109724 (prioritize param env candidates if they don't guide type inference) - rust-lang#110021 (Fix a couple ICEs in the new `CastKind::Transmute` code) - rust-lang#110044 (Avoid some manual slice length calculation) - rust-lang#110115 (compiletest: Use remap-path-prefix only in CI) - rust-lang#110121 (Fix `x check --stage 1` when download-rustc is enabled) - rust-lang#110124 (Some clippy fixes in the compiler) Failed merges: - rust-lang#109752 (Stall auto trait assembly in new solver for int/float vars) r? `@ghost` `@rustbot` modify labels: rollup
Collaborator
|
☔ The latest upstream changes (presumably #110137) made this pull request unmergeable. Please resolve the merge conflicts. |
0b7cae5 to
8d2dbba
Compare
Contributor
Author
|
@bors r=lcnr |
Collaborator
JohnTitor
added a commit
to JohnTitor/rust
that referenced
this pull request
Apr 11, 2023
…uto-trait-for-num-var, r=lcnr Stall auto trait assembly in new solver for int/float vars Make sure that we don't match int/float vars against *all* manual auto trait impls due to this check: https://github.com/rust-lang/rust/blob/2fb0e8d162a021f8a795fb603f5d8c0017855160/compiler/rustc_trait_selection/src/solve/trait_goals.rs#L151-L169 Since `find_map_relevant_impl` treats all impls as candidates for int/float vars, due to the way that `fast_reject::simplify_type` works. This fixes compiler-errors/next-solver-hir-issues#11. r? `@lcnr`
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Apr 11, 2023
Rollup of 8 pull requests Successful merges: - rust-lang#109527 (Set up standard library path substitution in rust-gdb and gdbgui) - rust-lang#109752 (Stall auto trait assembly in new solver for int/float vars) - rust-lang#109860 (Add support for RISC-V relax target feature) - rust-lang#109923 (Update `error [E0449]: unnecessary visibility qualifier` to be more clear) - rust-lang#110070 (The `wrapping_neg` example for unsigned types shouldn't use `i8`) - rust-lang#110146 (fix(doc): do not parse inline when output is json for external crate) - rust-lang#110147 (Add regression test for rust-lang#104916) - rust-lang#110149 (Update books) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
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.
Make sure that we don't match int/float vars against all manual auto trait impls due to this check:
rust/compiler/rustc_trait_selection/src/solve/trait_goals.rs
Lines 151 to 169 in 2fb0e8d
Since
find_map_relevant_impltreats all impls as candidates for int/float vars, due to the way thatfast_reject::simplify_typeworks.This fixes compiler-errors/next-solver-hir-issues#11.
r? @lcnr