Skip to content

Conversation

compiler-errors
Copy link
Member

@compiler-errors compiler-errors commented Oct 21, 2022

The bounds that we get by calling bound_explicit_item_bounds from an RPITIT have projections, not opaques, but when we're registering an opaque, we want to treat it like an opaque.

Coincidentally fixes #102688 as well, which makes sense, since that was failing because we were inferring an opaque type to be equal to itself (opaque cycle error => "cannot resolve opaque type").

Fixes #103352

r? @oli-obk

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Oct 21, 2022
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 21, 2022
@oli-obk
Copy link
Contributor

oli-obk commented Oct 21, 2022

@bors r+

@bors
Copy link
Collaborator

bors commented Oct 21, 2022

📌 Commit 419fde7 has been approved by oli-obk

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 21, 2022
@compiler-errors compiler-errors changed the title Handle RPITITs properly in register_hidden_type Handle return-position impl Trait in traits properly in register_hidden_type Oct 21, 2022
notriddle added a commit to notriddle/rust that referenced this pull request Oct 22, 2022
…ck, r=oli-obk

Handle return-position `impl Trait` in traits properly in `register_hidden_type`

The bounds that we get by calling `bound_explicit_item_bounds` from an RPITIT have projections, not opaques, but when we're *registering* an opaque, we want to treat it like an opaque.

Coincidentally fixes rust-lang#102688 as well, which makes sense, since that was failing because we were inferring an opaque type to be equal to itself (opaque cycle error => "cannot resolve opaque type").

Fixes rust-lang#103352

r? `@oli-obk`
notriddle added a commit to notriddle/rust that referenced this pull request Oct 22, 2022
…ck, r=oli-obk

Handle return-position `impl Trait` in traits properly in `register_hidden_type`

The bounds that we get by calling `bound_explicit_item_bounds` from an RPITIT have projections, not opaques, but when we're *registering* an opaque, we want to treat it like an opaque.

Coincidentally fixes rust-lang#102688 as well, which makes sense, since that was failing because we were inferring an opaque type to be equal to itself (opaque cycle error => "cannot resolve opaque type").

Fixes rust-lang#103352

r? ``@oli-obk``
bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 23, 2022
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#103123 (Introduce `subst_iter` and `subst_iter_copied` on `EarlyBinder` )
 - rust-lang#103328 (Do not suggest trivially false const predicates)
 - rust-lang#103354 (Escape string literals when fixing overlong char literal)
 - rust-lang#103355 (Handle return-position `impl Trait` in traits properly in `register_hidden_type`)
 - rust-lang#103368 (Delay ambiguity span bug in normalize query iff not rustdoc)
 - rust-lang#103388 (rustdoc: remove unused CSS class `.result-description`)
 - rust-lang#103399 (Change `unknown_lint` applicability to `MaybeIncorrect`)
 - rust-lang#103401 (Use functions for headings rustdoc GUI test)
 - rust-lang#103412 (Fix typo in docs of `String::leak`.)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit ff689a1 into rust-lang:master Oct 23, 2022
@rustbot rustbot added this to the 1.66.0 milestone Oct 23, 2022
@compiler-errors compiler-errors deleted the rpitit-default-check branch November 2, 2022 02:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

async_fn_in_trait: return type of method impl is not checked in default bodies default-body async fn in trait with impl Trait return fails to compile
5 participants