Skip to content
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

use the correct Reveal during validation #105455

Merged
merged 2 commits into from
Dec 9, 2022

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
Contributor

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