Skip to content

Commit 87e874d

Browse files
committed
Auto merge of #146329 - lcnr:opaque-type-infer-alias-candidates, r=BoxyUwU
consider item bounds for non-yet-defined opaque types Based on rust-lang/rust#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 - look at the item bounds of all sub-unified opaque types, and - blanket impls which do not constrain the self type 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`
2 parents 7d9734f + 9e6f505 commit 87e874d

File tree

0 file changed

+0
-0
lines changed

    0 file changed

    +0
    -0
    lines changed

    0 commit comments

    Comments
     (0)