about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src/coverage/tests.rs
diff options
context:
space:
mode:
authorDylan DPC <99973273+Dylan-DPC@users.noreply.github.com>2023-04-10 14:13:13 +0530
committerGitHub <noreply@github.com>2023-04-10 14:13:13 +0530
commitc30d7e97a813cbd9c022227528b1b26ce88e8ddd (patch)
tree4272c1205e67132bb3e9f037109b907308dbc43b /compiler/rustc_mir_transform/src/coverage/tests.rs
parent749b487be49b793dd713c429042b33262208f4f9 (diff)
parent3fab7f7c13390217bf55d864b6e1efc3d0ec1528 (diff)
downloadrust-c30d7e97a813cbd9c022227528b1b26ce88e8ddd.tar.gz
rust-c30d7e97a813cbd9c022227528b1b26ce88e8ddd.zip
Rollup merge of #109724 - lcnr:prioritize-env, r=compiler-errors
prioritize param env candidates if they don't guide type inference

intended to supersede #109579. We disable the prioritization during coherence to maintain completeness.

Long term we can hopefully replace this hack with adding OR to external constraints at which point the only relevant part when merging responses is whether they guide type inference in the same way.

Reuses `try_merge_responses` for assembly and the cleanest way to impl that was to actually split that so that `try_merge_responses` returns `None` if we fail to merge them and then add `flounder` which is used afterwards which is allowed to lower the certainty of our responses.

If, in the future, we add the ability to merge candidates `YES: ?0 = Vec<u32>` and `YES: ?0 = Vec<i32>` to `AMBIG: ?0 = Vec<?1>`, this should happen in `flounder`.

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