Remove deterministic picking from query cycle handling#152229
Remove deterministic picking from query cycle handling#152229rust-bors[bot] merged 1 commit intorust-lang:mainfrom
Conversation
|
cc @nnethercote |
This comment has been minimized.
This comment has been minimized.
|
If the existing approach is indeed non-deterministic, then this looks like a good simplification. |
rustc_query_impl: Use `ControlFlow` in `visit_waiters` instead of nested options Noticed when reviewing rust-lang#152229.
rustc_query_impl: Use `ControlFlow` in `visit_waiters` instead of nested options Noticed when reviewing rust-lang/rust#152229.
|
Good simplification. The r=me after rebasing and with petrochenkov's comments addressed. |
Is it worth adding a comment somewhere that mentions this? Seems like useful information. |
|
Ah, wait, you want my opinion? Uuh, well I did almost the same thing in #149849, so it should be ok. |
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bors r+ |
Rollup of 9 pull requests Successful merges: - #152229 (Remove deterministic picking from query cycle handling) - #152970 (extend unpin noalias tests to cover mutable references) - #149783 (stabilize `cfg_select!`) - #151744 (fix refining_impl_trait suggestion with return_type_notation) - #152366 (Add try_shrink_to and try_shrink_to_fit to Vec) - #152640 (Add direct link to rustc-dev-guide in README) - #152963 (Revert "Stabilize `str_as_str`") - #152984 (Remove redundant call to `check_codegen_attributes_extra` in Inliner) - #152987 (Use `HashStable` derive in more places)
Rollup merge of #152229 - Zoxc:rem-det-pick, r=nnethercote Remove deterministic picking from query cycle handling This removes the deterministic picking of queries from the query cycle handling. The sets we pick from are themselves non-deterministic, making this ineffective. There may be additional entry points to the cycle which we won't discover until after we resume from the cycle handler and run more code.
This removes the deterministic picking of queries from the query cycle handling. The sets we pick from are themselves non-deterministic, making this ineffective. There may be additional entry points to the cycle which we won't discover until after we resume from the cycle handler and run more code.