-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Do not eagerly reject inference vars when trying to resolve method calls. #126316
base: master
Are you sure you want to change the base?
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…r-errors Avoid a bunch of booleans in favor of Result<(), ErrorGuaranteed> as that more robustly proves that an error has been emitted pulled out of rust-lang#126316 This PR cannot have any effect on compilation. All it does is shift a `Ty::new_misc_error` to a `span_delayed_bug` and preserve the `ErrorGuaranteed` in all other cases
Rollup merge of rust-lang#126317 - oli-obk:recursive_rpit4, r=compiler-errors Avoid a bunch of booleans in favor of Result<(), ErrorGuaranteed> as that more robustly proves that an error has been emitted pulled out of rust-lang#126316 This PR cannot have any effect on compilation. All it does is shift a `Ty::new_misc_error` to a `span_delayed_bug` and preserve the `ErrorGuaranteed` in all other cases
☔ The latest upstream changes (presumably #126345) made this pull request unmergeable. Please resolve the merge conflicts. |
☔ The latest upstream changes (presumably #126374) made this pull request unmergeable. Please resolve the merge conflicts. |
This comment has been minimized.
This comment has been minimized.
☔ The latest upstream changes (presumably #126462) made this pull request unmergeable. Please resolve the merge conflicts. |
@rustbot ready the component PRs have landed |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
want to take some time to look at when exactly we don't error if there's an auto-deref step resulting in an infer var, will get to this next week hopefully
☔ The latest upstream changes (presumably #126540) made this pull request unmergeable. Please resolve the merge conflicts. |
…en types of opaque types."" This reverts commit ad00868.
☔ The latest upstream changes (presumably #121848) made this pull request unmergeable. Please resolve the merge conflicts. |
☔ The latest upstream changes (presumably #130732) made this pull request unmergeable. Please resolve the merge conflicts. |
Reintroduces the changes reverted in #126258 and fixes the regression in the old solver.
The new solver will still fail on
because while type checking the method call
.parse()
, when looking for candidates, we end up not finding any, as the only information we have is that there's an unresolvedAliasTy(opaque, infer_var)
floating around while looking for a method call oninfer_var
.This obviously seems fixable by looking at said obligation, but I'd prefer to tackle that separately (I got half an impl locally, but there are multiple paths forward that we should discuss)
r? @lcnr @compiler-errors
I'm going to split out the effect-free cleanups and the inference changes to separate PRs, so we can review them in isolation, but with the goal of enabling this PR to land