-
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
Allow Trait inheritance with cycles on associated types take 2 #80732
Conversation
@bors try So people can easily install this with https://github.com/kennytm/rustup-toolchain-install-master (#79560 (comment)) |
⌛ Trying commit 958a97b56a7cfdaa35b032fbaa49385c5d08dfe8 with merge c963187c6f959417cbb13a33e9eaea4607696fc4... |
958a97b
to
455a0e1
Compare
@jyn514 yeah that's great. I've force pushed but all I've changed there is the test I've added to be |
@nikomatsakis, now that this is tested, should be ready for review/merge. |
Just to make sure I understand the situation:
Is there a test for the new ICEs we encountered? I couldn't quite tell. If all that is correct, r=me. @bors delegate+ |
✌️ @spastorino can now approve this pull request |
@nikomatsakis what you've said is correct. About the test check the second commit (the one that's not the revert) and at the end you'll find the test. |
@bors r=nikomatsakis |
📌 Commit 455a0e1 has been approved by |
… r=nikomatsakis Allow Trait inheritance with cycles on associated types take 2 This reverts the revert of rust-lang#79209 and fixes the ICEs that's occasioned by that PR exposing some problems that are addressed in rust-lang#80648 and rust-lang#79811. For easier review I'd say, check only the last commit, the first one is just a revert of the revert of rust-lang#79209 which was already approved. This also could be considered part or the actual fix of rust-lang#79560 but I guess for that to be closed and fixed completely we would need to land rust-lang#80648 and rust-lang#79811 too. r? `@nikomatsakis` cc `@Aaron1011`
@lnicola That only works for commits that have been built by bors. Try the commits mentioned in #80732 (comment). |
@spastorino this introduces an error while compiling
Do you know if that is intended? The two suggestions seem identical. Or is it a single suggestion printed twice? |
@bors r- That failed in this rollup: #81102 (comment) (Thanks @lnicola for figuring it out!) |
149e8ab
to
fae509c
Compare
Have just changed back to @lnicola can you tell me how to reproduce the |
fae509c
to
53cda05
Compare
@spastorino try this, it was a pain to minimize: pub struct LookupInternedStorage;
impl<Q> QueryStorageOps<Q> for LookupInternedStorage
where
Q: Query,
for<'d> Q: QueryDb<'d>,
{
fn fmt_index(&self, db: &<Q as QueryDb<'_>>::DynDb) {
<<Q as QueryDb<'_>>::DynDb as HasQueryGroup<Q::Group>>::group_storage(db);
}
}
pub trait HasQueryGroup<G>
{
fn group_storage(&self);
}
pub trait QueryStorageOps<Q>
where
Q: Query,
{
fn fmt_index(&self, db: &<Q as QueryDb<'_>>::DynDb);
}
pub trait QueryDb<'d> {
type DynDb: HasQueryGroup<Self::Group> + 'd;
type Group;
}
pub trait Query: for<'d> QueryDb<'d> {
}
|
☔ The latest upstream changes (presumably #81784) made this pull request unmergeable. Please resolve the merge conflicts. |
eb6681e
to
934de88
Compare
This comment has been minimized.
This comment has been minimized.
934de88
to
7d810b4
Compare
An ICE happened when certain code is compiled in incremental compilation mode and there are two `Ident`s that have the same `StableHash` value but are considered different by `Eq` and `Hash`. The `Ident` issue is now fixed.
6f3b0b4
to
c01c135
Compare
c01c135
to
8d17c6a
Compare
@bors r=nikomatsakis |
📌 Commit 8d17c6a has been approved by |
Rollup of 11 pull requests Successful merges: - rust-lang#72209 (Add checking for no_mangle to unsafe_code lint) - rust-lang#80732 (Allow Trait inheritance with cycles on associated types take 2) - rust-lang#81697 (Add "every" as a doc alias for "all".) - rust-lang#81826 (Prefer match over combinators to make some Box methods inlineable) - rust-lang#81834 (Resolve typedef in HashMap lldb pretty-printer only if possible) - rust-lang#81841 ([rustbuild] Output rustdoc-json-types docs ) - rust-lang#81849 (Expand the docs for ops::ControlFlow a bit) - rust-lang#81876 (parser: Fix panic in 'const impl' recovery) - rust-lang#81882 (:arrow_up: rust-analyzer) - rust-lang#81888 (Fix pretty printer macro_rules with semicolon.) - rust-lang#81896 (Remove outdated comment in windows' mutex.rs) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Does this need |
I don't think it really needs relnotes, it's basically a minor bugfix that probably doesn't rise to that level. |
This reverts the revert of #79209 and fixes the ICEs that's occasioned by that PR exposing some problems that are addressed in #80648 and #79811.
For easier review I'd say, check only the last commit, the first one is just a revert of the revert of #79209 which was already approved.
This also could be considered part or the actual fix of #79560 but I guess for that to be closed and fixed completely we would need to land #80648 and #79811 too.
r? @nikomatsakis
cc @Aaron1011