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 non-intercrate SelectionContext for normalization in coherence::with_fresh_ty_vars #86360

Closed

Conversation

b-naber
Copy link
Contributor

@b-naber b-naber commented Jun 16, 2021

Fixes #85898

Previously we used a SelectionContext with the intercrate flag set in with_fresh_ty_vars, which caused projections of foreign types to fail the orphan check. We now use a new SelectionContext for the normalization.

@rust-highfive
Copy link
Collaborator

r? @estebank

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 16, 2021
@JohnCSimon JohnCSimon added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 5, 2021
@joelpalmer joelpalmer added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 20, 2021
@JohnCSimon JohnCSimon added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 9, 2021
@inquisitivecrystal inquisitivecrystal added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Aug 24, 2021
@b-naber
Copy link
Contributor Author

b-naber commented Sep 3, 2021

@estebank Can you review this, please?

@estebank
Copy link
Contributor

estebank commented Sep 3, 2021

@bors r+

@bors
Copy link
Contributor

bors commented Sep 3, 2021

📌 Commit 8fd515c has been approved by estebank

@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 Sep 3, 2021
@bors
Copy link
Contributor

bors commented Sep 3, 2021

⌛ Testing commit 8fd515c with merge 5cdeccb1f7728b38161e581bcc6d55118e063be2...

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-aux failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling quickcheck v0.9.2
   Compiling ipnetwork v0.17.0
   Compiling diesel_derives v2.0.0 (/checkout/obj/build/ct/diesel/diesel_derives)
   Compiling diesel v2.0.0 (/checkout/obj/build/ct/diesel/diesel)
error[E0275]: overflow evaluating the requirement `&(_, _, _, _, _): insertable::Insertable<_>`
  |
  = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`diesel`)
  = note: required because of the requirements on the impl of `insertable::Insertable<_>` for `(&(_, _, _, _, _), &_, &_, &_, &_)`
  = note: 127 redundant requirements hidden
  = note: required because of the requirements on the impl of `insertable::Insertable<_>` for `&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((_, _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _)`
For more information about this error, try `rustc --explain E0275`.
For more information about this error, try `rustc --explain E0275`.
error: could not compile `diesel` due to previous error
error: build failed
thread 'main' panicked at 'tests failed for https://github.com/diesel-rs/diesel', src/tools/cargotest/main.rs:101:9



note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/cargotest" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/cargo" "/checkout/obj/build/ct"
expected success, got: exit status: 101


Build completed unsuccessfully in 0:18:59
make: *** [check-aux] Error 1
Makefile:44: recipe for target 'check-aux' failed

@bors
Copy link
Contributor

bors commented Sep 3, 2021

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 3, 2021
@b-naber
Copy link
Contributor Author

b-naber commented Sep 6, 2021

@estebank This fails in some macro call, which I can't minimize. The only other possible solution I'd have for now would be to just change the flag on the existing SelectionContext during the normalization, but I'm unable to build the crate irrespective of the rustc version I use on my computer. Can we maybe try another bors run with the altered flag change? Otherwise I think we should close this.

@bors
Copy link
Contributor

bors commented Sep 15, 2021

⌛ Testing commit 8fd515c with merge 4ef29ce025ae9896a9e8e80d60cfa4f78932627f...

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-aux failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling quickcheck v0.9.2
   Compiling ipnetwork v0.17.0
   Compiling diesel_derives v2.0.0 (/checkout/obj/build/ct/diesel/diesel_derives)
   Compiling diesel v2.0.0 (/checkout/obj/build/ct/diesel/diesel)
error[E0275]: overflow evaluating the requirement `&(_, _, _, _, _): insertable::Insertable<_>`
  |
  = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`diesel`)
  = note: required because of the requirements on the impl of `insertable::Insertable<_>` for `(&(_, _, _, _, _), &_, &_, &_, &_)`
  = note: 127 redundant requirements hidden
  = note: required because of the requirements on the impl of `insertable::Insertable<_>` for `&(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((_, _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _), _, _, _, _)`
For more information about this error, try `rustc --explain E0275`.
error: could not compile `diesel` due to previous error
warning: build failed, waiting for other jobs to finish...
error: build failed
---
expected success, got: exit status: 101


Build completed unsuccessfully in 0:26:04
make: *** [check-aux] Error 1
Makefile:44: recipe for target 'check-aux' failed

@bors
Copy link
Contributor

bors commented Sep 15, 2021

💔 Test failed - checks-actions

@JohnCSimon
Copy link
Member

triage:
@b-naber moving this back to author, to address the build failures or close.

@rustbot label: +S-waiting-on-author -S-waiting-on-review

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 3, 2021
@estebank
Copy link
Contributor

estebank commented Oct 4, 2021

Can we maybe try another bors run with the altered flag change?

What change were you talking about?

Looking at that macro, it seems like maybe we might be doing something wrong now with the expansion of Value, but I might be wrong. I'm as mystified as you by the failures :-/

@camelid
Copy link
Member

camelid commented Oct 5, 2021

@bors r-

Tests failed, but bors still has it in the merge queue.

@JohnCSimon JohnCSimon added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Oct 24, 2021
@JohnCSimon
Copy link
Member

triage:
@b-naber can you please post the status on this PR?

@b-naber
Copy link
Contributor Author

b-naber commented Nov 15, 2021

@JohnCSimon Sorry, I forgot about this PR. I will try to look into this again this week. Feel free to close this, if I won't update this PR by then.

@JohnCSimon
Copy link
Member

@b-naber
Ping from triage: I'm closing this one due to inactivity, please feel to reopen when you are ready to continue with this.

@rustbot label: +S-inactive

@rustbot rustbot added the S-inactive Status: Inactive and waiting on the author. This is often applied to closed PRs. label Dec 12, 2021
@JohnCSimon JohnCSimon closed this Dec 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-inactive Status: Inactive and waiting on the author. This is often applied to closed PRs. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. 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.

Associated types from foreign trait impls are considered as conflicting with every other type
10 participants