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

Add projection obligations when comparing impl too #115039

Merged
merged 1 commit into from
Aug 21, 2023

Conversation

jackh726
Copy link
Member

Fixes #115033

In the test, when we ask for WF obligations of DatasetIter<'a, ArrayBase<D>>, we get back two important obligations: [<D as Data>::Elem -> ?1, ?1: 'a]. If we don't add the projection obligation, ?1 remains unconstrained.

An alternative solution would be to use unnormalized obligations, where we only have one relevant obligation: <D as Data>::Elem: 'a. This would leave no inference vars unconstrained.

@rustbot
Copy link
Collaborator

rustbot commented Aug 21, 2023

r? @davidtwco

(rustbot has picked a reviewer for you, use r? to override)

@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 Aug 21, 2023
@aliemjay
Copy link
Member

An alternative solution would be to use unnormalized obligations, where we only have one relevant obligation: <D as Data>::Elem: 'a. This would leave no inference vars unconstrained.

Ideally I would prefer to use the unnormalized obligations but unfortunately there is #109628, which allows normalized obligations to have more implied bounds than the unnormalized ones.

r? @aliemjay
@bor r+

@rustbot rustbot assigned aliemjay and unassigned davidtwco Aug 21, 2023
@aliemjay
Copy link
Member

bors failed to recognize command?
@bors r+

@bors
Copy link
Contributor

bors commented Aug 21, 2023

📌 Commit 31032ec has been approved by aliemjay

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 Aug 21, 2023
@jackh726
Copy link
Member Author

I think this just missed the version bump, so going to preemptively nominate for beta backport.

@jackh726 jackh726 added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Aug 21, 2023
@bors
Copy link
Contributor

bors commented Aug 21, 2023

⌛ Testing commit 31032ec with merge fe5f591...

@bors
Copy link
Contributor

bors commented Aug 21, 2023

☀️ Test successful - checks-actions
Approved by: aliemjay
Pushing fe5f591 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 21, 2023
@bors bors merged commit fe5f591 into rust-lang:master Aug 21, 2023
12 checks passed
@rustbot rustbot added this to the 1.74.0 milestone Aug 21, 2023
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (fe5f591): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

This benchmark run did not return any relevant results for this metric.

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 636.268s -> 633.645s (-0.41%)
Artifact size: 346.98 MiB -> 346.96 MiB (-0.00%)

@jackh726 jackh726 deleted the impl_compare_add_alias_obligations branch August 21, 2023 17:03
@apiraino
Copy link
Contributor

apiraino commented Aug 23, 2023

Fixes #115051

@apiraino
Copy link
Contributor

Beta backport approved as per compiler team on Zulip

@rustbot label +beta-accepted

@rustbot rustbot added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Aug 24, 2023
@cuviper cuviper modified the milestones: 1.74.0, 1.73.0 Aug 25, 2023
@cuviper cuviper removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Aug 25, 2023
bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 25, 2023
[beta] backport and stage0 bump

- Bump to released stable compiler
- Add projection obligations when comparing impl too rust-lang#115039

r? cuviper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel. merged-by-bors This PR was explicitly merged by bors. 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.

error: internal compiler error: no errors encountered even though delay_span_bug issued
8 participants