]> git.lizzy.rs Git - rust.git/commit
Rollup merge of #107004 - compiler-errors:new-solver-new-candidates-2, r=lcnr
authorMichael Goulet <michael@errs.io>
Wed, 18 Jan 2023 23:00:29 +0000 (18:00 -0500)
committerGitHub <noreply@github.com>
Wed, 18 Jan 2023 23:00:29 +0000 (18:00 -0500)
commitcf5068bd623a68cf8d190159574839c35197cb06
tree455223bf03984d2dfb16057b63778768beb159aa
parenta637e2a950d3274755233efbace05f837a4c5d17
parentf672436f04938da11c74664f6665f28018f0a390
Rollup merge of #107004 - compiler-errors:new-solver-new-candidates-2, r=lcnr

Implement some candidates for the new solver (redux)

Based on #106718, so the diff is hard to read without it. See [here](https://github.com/rust-lang/rust/compare/98700cf481bce946bff316b56836cfffd885127b...compiler-errors:rust:new-solver-new-candidates-2) for an easier view until that one lands.

Of note:
44af916020fb43c12070125c45b6dee4ec303bbc fixes a bug where we need to make the query response *inside* of a probe, or else we make no inference progress (I think)
50daad5acd2f163d03e7ffab942534f09bc36e2e implements `consider_assumption` for traits and predicates. I'm not sure if using `sup` here is necessary or if `eq` is fine.
* We decided that all of the `instantiate_constituent_tys_for_*` functions are verbose but ok, since they need to be exhaustive and the logic between each of them is not similar enough, right?

r? ``@lcnr``
compiler/rustc_middle/src/ty/mod.rs