consider item bounds for non-yet-defined opaque types#146329
Merged
bors merged 2 commits intorust-lang:masterfrom Sep 12, 2025
Merged
consider item bounds for non-yet-defined opaque types#146329bors merged 2 commits intorust-lang:masterfrom
bors merged 2 commits intorust-lang:masterfrom
Conversation
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.
Based on #140405.
fixes rust-lang/trait-system-refactor-initiative#182
fixes rust-lang/trait-system-refactor-initiative#196
fixes rust-lang/trait-system-refactor-initiative#205
there's some jank here, see rust-lang/trait-system-refactor-initiative#229
Design
If the self type is an inference variable which has been sub-unified with am opaque type, we need to incompletely guide inference to avoid breakage.
In this case, we
Even if there are applicable candidates, we always force their certainty to be
Maybe, so they will always have to be reproven once we've constrained the inference variable.This is a bit iffy, see the added tests.
r? @BoxyUwU