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

Check built-in operator obligation before the method's WF obligations so as to not incompletely guide inference #137811

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

compiler-errors
Copy link
Member

@compiler-errors compiler-errors commented Feb 28, 2025

Fixes #137781

See the test description. Let me know if you want a more detailed step by step explanation for why this is failing.

We could alternatively fix this by trying to make Sized obligation checking less incomplete in the old solver... but that seems like a much larger change.

r? lcnr

@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 Feb 28, 2025
@compiler-errors
Copy link
Member Author

compiler-errors commented Feb 28, 2025

We could alternatively fix this by trying to make Sized obligation checking less incomplete in the old solver... but that seems like a much larger change.

Which would fix #137812.

@compiler-errors
Copy link
Member Author

honestly E0284 kinda sucks lol, it's an error code for when a projection is ambiguous but when is a projection ever ambiguous without the corresponding trait goal being ambiguous?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adding Self: Sized alters AsyncFnOnce bounds
3 participants