Skip to content

Conversation

lcnr
Copy link
Contributor

@lcnr lcnr commented Dec 8, 2022

supersedes #105454. Deals with #105009 (comment), not closing #105009 as the ICE may leak into beta

The issue was the following:

  • we optimize the mir, using Reveal::All
  • this replaces all opaque types with their underlying type.
  • we then validate using Reveal::UserFacing again which causes us to use the opaque type again, e.g. from fn_sig, causing a type error when relating it with the hidden type.

r? @jackh726

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 8, 2022
@rustbot
Copy link
Collaborator

rustbot commented Dec 8, 2022

This PR changes MIR

cc @oli-obk, @RalfJung, @JakobDegen, @davidtwco, @celinval, @vakaras

@lcnr lcnr changed the title use the correct Reveal during validation. use the correct Reveal during validation Dec 8, 2022
@lcnr lcnr force-pushed the correct-reveal-in-validate branch from b0485d5 to 3d9641e Compare December 8, 2022 11:26
@lcnr lcnr force-pushed the correct-reveal-in-validate branch from 3d9641e to e73ef59 Compare December 8, 2022 11:57
@jackh726
Copy link
Member

jackh726 commented Dec 8, 2022

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Dec 8, 2022

📌 Commit e73ef59 has been approved by jackh726

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 Dec 8, 2022
bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 9, 2022
…iaskrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#105216 (Remove unused GUI test)
 - rust-lang#105245 (attempt to clarify align_to docs)
 - rust-lang#105387 (Improve Rustdoc scrape-examples UI)
 - rust-lang#105389 (Enable profiler in dist-powerpc64le-linux)
 - rust-lang#105427 (Dont silently ignore rustdoc errors)
 - rust-lang#105442 (rustdoc: clean up docblock table CSS)
 - rust-lang#105443 (Move some queries and methods)
 - rust-lang#105455 (use the correct `Reveal` during validation)
 - rust-lang#105470 (Clippy: backport ICE fix before beta branch)
 - rust-lang#105474 (lib docs: fix typo)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 04dac42 into rust-lang:master Dec 9, 2022
@rustbot rustbot added this to the 1.67.0 milestone Dec 9, 2022
@lcnr lcnr deleted the correct-reveal-in-validate branch December 9, 2022 13:29
Aaron1011 pushed a commit to Aaron1011/rust that referenced this pull request Jan 6, 2023
…=jackh726

use the correct `Reveal` during validation

supersedes rust-lang#105454. Deals with rust-lang#105009 (comment), not closing rust-lang#105009 as the ICE may leak into beta

The issue was the following:
- we optimize the mir, using `Reveal::All`
- some optimization relies on the hidden type of an opaque type
- we then validate using `Reveal::UserFacing` again which is not able to observe the hidden type

r? `@jackh726`
Aaron1011 pushed a commit to Aaron1011/rust that referenced this pull request Jan 6, 2023
…iaskrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#105216 (Remove unused GUI test)
 - rust-lang#105245 (attempt to clarify align_to docs)
 - rust-lang#105387 (Improve Rustdoc scrape-examples UI)
 - rust-lang#105389 (Enable profiler in dist-powerpc64le-linux)
 - rust-lang#105427 (Dont silently ignore rustdoc errors)
 - rust-lang#105442 (rustdoc: clean up docblock table CSS)
 - rust-lang#105443 (Move some queries and methods)
 - rust-lang#105455 (use the correct `Reveal` during validation)
 - rust-lang#105470 (Clippy: backport ICE fix before beta branch)
 - rust-lang#105474 (lib docs: fix typo)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
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.

4 participants