No need to validate_alias_bound_self_from_param_env in assemble_alias_bound_candidates by compiler-errors · Pull Request #120598 · rust-lang/rust (original) (raw)

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 andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation5 Commits1 Checks0 Files changed

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

compiler-errors

We already fully normalize the self type before we reach assemble_alias_bound_candidates, so there's no reason to double check that a projection is truly rigid by checking param-env bounds.

I think this is also blocked on us making sure to always normalize opaques: #120549.

r? lcnr

@compiler-errors

@rustbot

Some changes occurred to the core trait solver

cc @rust-lang/initiative-trait-system-refactor

compiler-errors

error: the type `<dyn Iterator<Item = &'a mut u8> as IntoIterator>::IntoIter` is not well-formed
--> $DIR/issue-20605.rs:5:17
|
LL | for item in *things { *item = 0 }
| ^^^^^^^
error[E0277]: `<dyn Iterator<Item = &'a mut u8> as IntoIterator>::IntoIter` is not an iterator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only case where this matters is not-well-formed projections, which who cares if they're treated as rigid or not.

@lcnr lcnr added S-blocked

Status: Blocked on something else such as an RFC or other implementation work.

and removed S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

labels

Feb 5, 2024

@compiler-errors

I believe this is unblocked now

@rustbot ready

@rustbot rustbot added S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

and removed S-blocked

Status: Blocked on something else such as an RFC or other implementation work.

labels

Feb 21, 2024

@lcnr

@bors r+ rollup (next solver)

@bors

📌 Commit 6dea155 has been approved by lcnr

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

Feb 22, 2024

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Feb 22, 2024

@matthiaskrgr

…lcnr

No need to validate_alias_bound_self_from_param_env in assemble_alias_bound_candidates

We already fully normalize the self type before we reach assemble_alias_bound_candidates, so there's no reason to double check that a projection is truly rigid by checking param-env bounds.

I think this is also blocked on us making sure to always normalize opaques: rust-lang#120549.

r? lcnr

This was referenced

Feb 22, 2024

bors added a commit to rust-lang-ci/rust that referenced this pull request

Feb 22, 2024

@bors

…iaskrgr

Rollup of 8 pull requests

Successful merges:

r? @ghost @rustbot modify labels: rollup

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request

Feb 22, 2024

@rust-timer

Rollup merge of rust-lang#120598 - compiler-errors:no-rigid-check, r=lcnr

No need to validate_alias_bound_self_from_param_env in assemble_alias_bound_candidates

We already fully normalize the self type before we reach assemble_alias_bound_candidates, so there's no reason to double check that a projection is truly rigid by checking param-env bounds.

I think this is also blocked on us making sure to always normalize opaques: rust-lang#120549.

r? lcnr

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.

WG-trait-system-refactor

The Rustc Trait System Refactor Initiative (-Znext-solver)