-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Fix effect predicates from item bounds in old solver #134638
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
Conversation
This comment has been minimized.
This comment has been minimized.
51dfecd
to
535bc78
Compare
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.
nit, then r=me
<T as Trait>::Assoc::<U>::func(); | ||
//~^ ERROR the trait bound `<T as Trait>::Assoc<U>: ~const Trait` is not satisfied | ||
//[current]~^ ERROR the trait bound `U: ~const Other` is not satisfied | ||
//[next]~^^ ERROR the trait bound `<T as Trait>::Assoc<U>: ~const Trait` is not satisfied |
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.
deeply_normalize_for_diagnostics
?
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.
<T as Trait>::Assoc<U>
is not U
. There's no normalization happening here -- that's a rigid alias. This is due to the fact that the proof tree looks like:
<T as Trait>::Assoc<U>: ~const Other
proven via an item bound requires:U: ~const Other
but we don't go deeper in the proof tree visitor b/c the nested obligation is not considered a where clause for the purposes of proof tree visitor. This may be fixed by #132345.
Nothing to change here @bors r=lcnr rollup |
Rollup of 5 pull requests Successful merges: - rust-lang#134638 (Fix effect predicates from item bounds in old solver) - rust-lang#134662 (Fix safety docs for `dyn Any + Send {+ Sync}`) - rust-lang#134689 (core: fix const ptr::swap_nonoverlapping when there are pointers at odd offsets) - rust-lang#134699 (Belay new reviews for workingjubilee) - rust-lang#134701 (Correctly note item kind in `NonConstFunctionCall` error message) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#134638 - compiler-errors:fx-item-bounds, r=lcnr Fix effect predicates from item bounds in old solver r? lcnr
r? lcnr