-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
new trait solver: only consider goal changed if response is not identity #106834
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