-
Notifications
You must be signed in to change notification settings - Fork 0
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
Structural normalization tries to normalize (later) rigid aliases #78
Comments
Maybe we should actually register a projection predicate in structural-normalize, but then break the loop if we end up resolving the same alias we get out. This should also make sure we don't overflow in cases like |
This (among other issues) is causing rustc to fail to compile syn. |
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Dec 19, 2023
…ural-normalize, r=lcnr Use alias-eq in structural normalization We don't need to register repeated normalizes-to goals in a loop in structural normalize, but instead we can piggyback on the fact that alias-eq will already normalize aliases until they are rigid. This fixes rust-lang/trait-system-refactor-initiative#78. r? lcnr
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Dec 19, 2023
Rollup merge of rust-lang#119091 - compiler-errors:alias-eq-in-structural-normalize, r=lcnr Use alias-eq in structural normalization We don't need to register repeated normalizes-to goals in a loop in structural normalize, but instead we can piggyback on the fact that alias-eq will already normalize aliases until they are rigid. This fixes rust-lang/trait-system-refactor-initiative#78. r? lcnr
This got fixed ❤️ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Given some
<?0 as Trait>::Assoc
, structural normalize currently checks if the predicate<?0 as Trait>::Assoc normalizes-to ?1
may hold. This is ambiguous, but fails later if?0
is constrained to someT
whereT: Trait
, because<T as Trait>::Assoc
is now rigid.The text was updated successfully, but these errors were encountered: