-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
Move struct placeholder pt2 #150271
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
base: main
Are you sure you want to change the base?
Move struct placeholder pt2 #150271
Conversation
This comment has been minimized.
This comment has been minimized.
753b92c to
2077c6b
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| pub enum GenericKind<'tcx> { | ||
| Param(ty::ParamTy), | ||
| Placeholder(ty::PlaceholderType<'tcx>), | ||
| Placeholder(ty::PlaceholderType<TyCtxt<'tcx>>), |
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.
there are currently a bunch of spurious edits + outdated formatting things here 🤔
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.
Woops, yes, I'm sorting things out bit by bit. I'll squash all the commits when I'm done and remove the odd edits and commented out code.
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.
I'm getting the following error and I'm not too sure why as I'm using #[derive_where(HashStable_NoContext)];
error[E0599]: the method `hash_stable` exists for reference `&binder::BoundRegion<I>`, but its trait bounds were not satisfied
--> compiler/rustc_type_ir/src/region_kind.rs:228:19
|
228 | r.hash_stable(hcx, hasher);
| ^^^^^^^^^^^ method cannot be called on `&binder::BoundRegion<I>` due to unsatisfied trait bounds
|
::: compiler/rustc_type_ir/src/binder.rs:1014:1
|
1014 | pub enum BoundRegionKind<I: Interner> {
| ------------------------------------- doesn't satisfy `BoundRegionKind<I>: HashStable<_>`
...
1083 | pub struct BoundRegion<I: Interner> {
| ----------------------------------- doesn't satisfy `binder::BoundRegion<I>: HashStable<_>`
|
= note: trait bound `BoundRegionKind<I>: HashStable<_>` was not satisfied
= note: the following trait bounds were not satisfied:
`binder::BoundRegion<I>: HashStable<_>`
which is required by `&binder::BoundRegion<I>: HashStable<_>`
note: the trait `HashStable` must be implemented
--> /rust/compiler/rustc_data_structures/src/stable_hasher.rs:44:1
|
44 | pub trait HashStable<CTX> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0599]: the method `hash_stable` exists for reference `&binder::Placeholder<I, binder::BoundRegion<I>>`, but its trait bounds were not satisfied
--> compiler/rustc_type_ir/src/region_kind.rs:237:19
|
237 | r.hash_stable(hcx, hasher);
| ^^^^^^^^^^^ method cannot be called on `&binder::Placeholder<I, binder::BoundRegion<I>>` due to unsatisfied trait bounds
|
::: compiler/rustc_type_ir/src/binder.rs:969:1
|
969 | pub struct Placeholder<I: Interner, T> {
| -------------------------------------- doesn't satisfy `_: HashStable<_>`
...
1083 | pub struct BoundRegion<I: Interner> {
| ----------------------------------- doesn't satisfy `binder::BoundRegion<I>: HashStable<_>`
|
= note: trait bound `binder::BoundRegion<I>: HashStable<_>` was not satisfied
= note: the following trait bounds were not satisfied:
`binder::Placeholder<I, binder::BoundRegion<I>>: HashStable<_>`
which is required by `&binder::Placeholder<I, binder::BoundRegion<I>>: HashStable<_>`
note: the trait `HashStable` must be implemented
--> /rust/compiler/rustc_data_structures/src/stable_hasher.rs:44:1
|
44 | pub trait HashStable<CTX> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
The job Click to see the possible cause of the failure (guessed by this bot) |
r? ghost