about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src
diff options
context:
space:
mode:
authorJacob Pratt <jacob@jhpratt.dev>2024-12-18 21:38:08 -0500
committerGitHub <noreply@github.com>2024-12-18 21:38:08 -0500
commit4cd157e6b9e89a8f6c0043c1f7ce88087d6da06e (patch)
tree3d26f9c1209a929102a60f0b7e134864563cf4e3 /compiler/rustc_mir_transform/src
parente0187960122e1723c429c12e8b65d806e220bf90 (diff)
parent5fa4b093f59e4be0847ee00628ae5439fad51cfc (diff)
downloadrust-4cd157e6b9e89a8f6c0043c1f7ce88087d6da06e.tar.gz
rust-4cd157e6b9e89a8f6c0043c1f7ce88087d6da06e.zip
Rollup merge of #133643 - lcnr:merge-candidates, r=compiler-errors
-Znext-solver: modify candidate preference rules

This implements the design proposed in the FCP in #132325 and matches the old solver behavior. I hope the inline comments are all sufficiently clear, I personally think this is a fairly clear improvement over the existing approach using `fn discard_impls_shadowed_by_env`. This fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/96.

This also fixes #133639 which encounters an ICE in negative coherence when evaluating the where-clause. Given the features required to trigger this ICE :shrug:

r? ``@compiler-errors``
Diffstat (limited to 'compiler/rustc_mir_transform/src')
0 files changed, 0 insertions, 0 deletions