-
Couldn't load subscription status.
- Fork 13.9k
track cycle participants per root #125308
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
|
Some changes occurred to the core trait solver cc @rust-lang/initiative-trait-system-refactor |
1114458 to
6206dce
Compare
This comment has been minimized.
This comment has been minimized.
|
☔ The latest upstream changes (presumably #125324) made this pull request unmergeable. Please resolve the merge conflicts. |
|
r=me after rebase |
479707b to
f99c9ff
Compare
|
@bors r+ rollup |
|
@bors r=compiler-errors |
|
💡 This pull request was already approved, no need to approve it again.
|
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#124050 (Remove libc from MSVC targets) - rust-lang#124283 (Note for E0599 if shadowed bindings has the method.) - rust-lang#125123 (Fix `read_exact` and `read_buf_exact` for `&[u8]` and `io:Cursor`) - rust-lang#125158 (hir pretty: fix block indent) - rust-lang#125308 (track cycle participants per root) - rust-lang#125332 (Update books) - rust-lang#125333 (switch to the default implementation of `write_vectored`) - rust-lang#125346 (Remove some `Path::to_str` from `rustc_codegen_llvm`) Failed merges: - rust-lang#125310 (Move ~100 tests from tests/ui to subdirs) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#125308 - lcnr:search-graph-5, r=compiler-errors track cycle participants per root The search graph may have multiple roots, e.g. in ``` A :- B B :- A, C C :- D D :- C ``` we first encounter the `A -> B -> A` cycle which causes `A` to be a root. We then later encounter the `C -> D -> C` cycle as a nested goal of `B`. This cycle is completely separate and `C` will get moved to the global cache. This previously caused us to use `[B, D]` as the `cycle_participants` for `C` and `[]` for `A`. split off from rust-lang#125167 as I would like to merge this change separately and will rebase that PR on top of this one. There is no test for this issue and I don't quite know how to write one. It is probably worth it to generalize the search graph to enable us to write unit tests for it. r? `@compiler-errors`
The search graph may have multiple roots, e.g. in
we first encounter the
A -> B -> Acycle which causesAto be a root. We then later encounter theC -> D -> Ccycle as a nested goal ofB. This cycle is completely separate andCwill get moved to the global cache. This previously caused us to use[B, D]as thecycle_participantsforCand[]forA.split off from #125167 as I would like to merge this change separately and will rebase that PR on top of this one. There is no test for this issue and I don't quite know how to write one. It is probably worth it to generalize the search graph to enable us to write unit tests for it.
r? @compiler-errors