Rip out old solver coherence - #161491
Rip out old solver coherence#161491sjwang05 wants to merge 2 commits into
Conversation
|
Some changes occurred in src/tools/compiletest cc @jieyouxu
|
| selcx: &mut SelectionContext<'cx, 'tcx>, | ||
| #[instrument(level = "debug", skip(infcx), ret)] | ||
| fn impl_intersection_has_impossible_obligation<'a, 'tcx>( | ||
| infcx: &InferCtxt<'tcx>, |
There was a problem hiding this comment.
The selcx was only ever used with the old solver, hence we just pass the infcx directly now.
0ff5fec to
8b68f4a
Compare
|
cc @rust-lang/clippy
cc @rust-lang/miri |
This comment has been minimized.
This comment has been minimized.
8b68f4a to
e4cee54
Compare
This comment has been minimized.
This comment has been minimized.
2214e92 to
9f68a1b
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
9f68a1b to
aa886b7
Compare
This comment has been minimized.
This comment has been minimized.
Rip out old solver coherence cc [#t-types/call-for-participation > rip out old solver coherence support](https://rust-lang.zulipchat.com/#narrow/channel/618216-t-types.2Fcall-for-participation/topic/rip.20out.20old.20solver.20coherence.20support/with/613938355) Probably best reviewed commit-by-commit with ignore-whitespace. rust-lang#160668 replaced the last remaining place where old solver was still used by default in coherence with new solver. This PR removes code that was only used during coherence by the old solver, so now new-solver coherence is the *only* way to do coherence. So we don't confuse users, passing `-Znext-solver=coherence` and `=no` now do the exact same thing. We also remove tracking intercrate ambiguity causes, since afaict the new solver uses a completely different path. Everything else is either removing code that is now unreachable, or removing a condition that is now always true. r? lcnr
…uwer Rollup of 8 pull requests Successful merges: - #163645 (add `ignore-compare-mode-next-solver` to all next-solver tests) - #163663 (reflection: fix ICE when TypeId::info called on ADT) - #163454 (Improve suggestion for lifetime preceding type in generics) - #163561 (tests: accept noundef in a couple more places) - #163633 (core: io: clean `unused_variables` lint under `no_io_statics`) - #163681 (Make the tracking issue template better suited for experiments) - #163685 (Avoid long iterator chain in all_rust_features) - #163690 (refactor: migrate to LLVM-C's `LLVMGetOrInsertFunction`) Failed merges: - #161491 (Rip out old solver coherence)
This comment has been minimized.
This comment has been minimized.
|
omg im so sorry, incredibly unfortunate merge conflicts. I've never used delegate+ before but hopefully it works for this? r=me when you've resolved the merge conflicts @bors delegate+ |
d850b33 to
46d0705
Compare
This comment has been minimized.
This comment has been minimized.
|
@bors r=khyperia |
Rollup of 18 pull requests Successful merges: - #158102 (When compiling without a specified `--edition`, emit a message) - #162027 (std: add `fs::rename_noreplace`) - #162761 (Lower attributes for functions without bodies) - #163161 (implement FCW for `rustc_allowed_through_unstable_modules` items) - #163613 (Tweak the rendering of "not general enough" errors on the old trait solver) - #162062 (core: fix the docs of PanicInfo::location) - #163140 (document safety requirements for atomic intrinsics) - #163342 (Don't imply incorrect things about `Global` in the docs of `System`) - #163445 (Add safety comments for alloc::str) - #163503 (Mark Rc strong/weak count methods must_use) - #163548 (fs::set_permissions_nofollow: Android support, test cleanup) - #163585 ([triagebot] Create `debugger_visualizer` assign group) - #163597 (Add `SplitPathsRef` implementation for motor to make std build) - #163602 (Move media & home dirs tests to fs tests.) - #163667 (Finalize changes on expect messages for library/core/src/fmt/mod.rs) - #163682 ([rustdoc] Correctly link to (imported) enum variants with "jump to def") - #163683 (Fix GCC codegen backend comment in bootstrap) - #163703 (Move more `rustdoc-html tests` in the right location) Failed merges: - #161491 (Rip out old solver coherence)
Rollup of 18 pull requests Successful merges: - #158102 (When compiling without a specified `--edition`, emit a message) - #162761 (Lower attributes for functions without bodies) - #163161 (implement FCW for `rustc_allowed_through_unstable_modules` items) - #163613 (Tweak the rendering of "not general enough" errors on the old trait solver) - #162062 (core: fix the docs of PanicInfo::location) - #163140 (document safety requirements for atomic intrinsics) - #163342 (Don't imply incorrect things about `Global` in the docs of `System`) - #163445 (Add safety comments for alloc::str) - #163503 (Mark Rc strong/weak count methods must_use) - #163548 (fs::set_permissions_nofollow: Android support, test cleanup) - #163585 ([triagebot] Create `debugger_visualizer` assign group) - #163597 (Add `SplitPathsRef` implementation for motor to make std build) - #163602 (Move media & home dirs tests to fs tests.) - #163667 (Finalize changes on expect messages for library/core/src/fmt/mod.rs) - #163682 ([rustdoc] Correctly link to (imported) enum variants with "jump to def") - #163683 (Fix GCC codegen backend comment in bootstrap) - #163703 (Move more `rustdoc-html tests` in the right location) - #163725 (some crashes fixed with next-solver) Failed merges: - #161491 (Rip out old solver coherence)
This comment has been minimized.
This comment has been minimized.
46d0705 to
3a7efa2
Compare
|
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=khyperia this time, surely. |
View all comments
cc #t-types/call-for-participation > rip out old solver coherence support
Probably best reviewed commit-by-commit with ignore-whitespace.
#160668 replaced the last remaining place where old solver was still used by default in coherence with new solver. This PR removes code that was only used during coherence by the old solver, so now new-solver coherence is the only way to do coherence. So we don't confuse users, passing
-Znext-solver=coherenceand=nonow do the exact same thing.We also remove tracking intercrate ambiguity causes, since afaict the new solver uses a completely different path.
Everything else is either removing code that is now unreachable, or removing a condition that is now always true.
r? lcnr