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 some comments, add can_define_opaque_ty check to try_normalize_ty_recur #118915

Merged
merged 3 commits into from
Jan 11, 2024

Conversation

compiler-errors
Copy link
Member

Follow-up from #117278, since I was recently re-reviewing this code.

@rustbot
Copy link
Collaborator

rustbot commented Dec 13, 2023

r? @jackh726

(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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative labels Dec 13, 2023
@rustbot
Copy link
Collaborator

rustbot commented Dec 13, 2023

Some changes occurred to the core trait solver

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

@compiler-errors
Copy link
Member Author

woops r? lcnr

@rustbot rustbot assigned lcnr and unassigned jackh726 Dec 13, 2023
Copy link
Contributor

@lcnr lcnr left a comment

Choose a reason for hiding this comment

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

realized:

we really should mention how AliasRelate(<_ as Ambig>::Assoc, whatever) ends up normalizing the alias to ?unconstrained and it doesn't really matter that we equate it with whatever, as these constraints do not flow out to the caller in any way.

compiler/rustc_trait_selection/src/solve/alias_relate.rs Outdated Show resolved Hide resolved
@lcnr
Copy link
Contributor

lcnr commented Dec 14, 2023

r=me after nits

@compiler-errors
Copy link
Member Author

we really should mention how AliasRelate(<_ as Ambig>::Assoc, whatever) ends up normalizing the alias to ?unconstrained and it doesn't really matter that we equate it with whatever, as these constraints do not flow out to the caller in any way.

Is the point you're trying to make that as long as we have an ambiguous alias in an alias-relate, we don't ever have inference side-effects and it'll always be ambiguous? In that case, sure, I agree, but I also don't know where we could best document this...

@bors
Copy link
Contributor

bors commented Dec 15, 2023

☔ The latest upstream changes (presumably #118996) made this pull request unmergeable. Please resolve the merge conflicts.

@compiler-errors
Copy link
Member Author

TODO: I'll move all this to a module-level doc. I'll also add a comment to compute_projection_goal explaining why alias-relate is being emitted directly.

@rustbot
Copy link
Collaborator

rustbot commented Jan 10, 2024

Type relation code was changed

cc @compiler-errors, @lcnr

@compiler-errors
Copy link
Member Author

but I am blocking this on #118915

Ok, requesting a review on this PR then lol

@lcnr
Copy link
Contributor

lcnr commented Jan 10, 2024

i still considered the r=me to apply here and thought you weren't done

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Jan 10, 2024

📌 Commit 427c55c 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 Jan 10, 2024
@compiler-errors
Copy link
Member Author

For the record, I did rewrite the comment at the top of the alias-relate file, so I thought you wanted to read that. But thx for the r+ anyways.

bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 11, 2024
…iaskrgr

Rollup of 11 pull requests

Successful merges:

 - rust-lang#115046 (Use version-sorting for all sorting)
 - rust-lang#118915 (Add some comments, add `can_define_opaque_ty` check to `try_normalize_ty_recur`)
 - rust-lang#119006 (Fix is_global special address handling)
 - rust-lang#119637 (Pass LLVM error message back to pass wrapper.)
 - rust-lang#119715 (Exhaustiveness: abort on type error)
 - rust-lang#119763 (Cleanup things in and around `Diagnostic`)
 - rust-lang#119788 (change function name in comments)
 - rust-lang#119790 (Fix all_trait* methods to return all traits available in StableMIR)
 - rust-lang#119803 (Silence some follow-up errors [1/x])
 - rust-lang#119804 (Stabilize mutex_unpoison feature)
 - rust-lang#119832 (Meta: Add project const traits to triagebot config)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 859874f into rust-lang:master Jan 11, 2024
11 checks passed
@rustbot rustbot added this to the 1.77.0 milestone Jan 11, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jan 11, 2024
Rollup merge of rust-lang#118915 - compiler-errors:alias-nits, r=lcnr

Add some comments, add `can_define_opaque_ty` check to `try_normalize_ty_recur`

Follow-up from rust-lang#117278, since I was recently re-reviewing this code.
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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants