-
Notifications
You must be signed in to change notification settings - Fork 13.3k
new trait solver: only consider goal changed if response is not identity #106834
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
Some changes occurred to the core trait solver cc @rust-lang/initiative-trait-system-refactor |
☔ The latest upstream changes (presumably #106742) made this pull request unmergeable. Please resolve the merge conflicts. |
looks right to me 👍 @bors r+ rollup |
📌 Commit 1b75b6e5f0218630767cacd46afc79ba653eb1ea has been approved by It is now in the queue for this repository. |
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message
|
1b75b6e
to
148e4f7
Compare
@@ -178,7 +178,7 @@ impl<'tcx> EvalCtxt<'tcx> { | |||
let canonical_goal = infcx.canonicalize_query(goal, &mut orig_values); | |||
let canonical_response = self.evaluate_canonical_goal(canonical_goal)?; | |||
Ok(( | |||
true, // FIXME: check whether `var_values` are an identity substitution. | |||
!canonical_response.value.var_values.is_identity(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this needed a !
@bors r=lcnr |
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#104505 (Remove double spaces after dots in comments) - rust-lang#106784 (prevent E0512 from emitting [type error] by checking the references_error) - rust-lang#106834 (new trait solver: only consider goal changed if response is not identity) - rust-lang#106889 (Mention the lack of `windows_mut` in `windows`) - rust-lang#106963 (Use `scope_expr_id` from `ProbeCtxt`) - rust-lang#106970 (Switch to `EarlyBinder` for `item_bounds` query) - rust-lang#106980 (Hide `_use_mk_alias_ty_instead` in `<AliasTy as Debug>::fmt`) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
I think this is the right way of implementing it..
r? @lcnr