]> git.lizzy.rs Git - rust.git/commit
Rollup merge of #99000 - JulianKnodt:allow_resolve_no_substs, r=lcnr
authorDylan DPC <99973273+Dylan-DPC@users.noreply.github.com>
Thu, 14 Jul 2022 13:54:04 +0000 (19:24 +0530)
committerGitHub <noreply@github.com>
Thu, 14 Jul 2022 13:54:04 +0000 (19:24 +0530)
commitecae3d74e26b8f10322060954fbc2a6c4ba92402
tree22fce1b96af296f285880e54f300fa8c067cdadf
parent8c5c983e5bb491682b57a9bbe33be4f2b94fa2ec
parent20fb8aba8f39e257e7003918f9a299633511511b
Rollup merge of #99000 - JulianKnodt:allow_resolve_no_substs, r=lcnr

Move abstract const to middle

Moves AbstractConst (and all associated methods) to rustc middle for use in `rustc_infer`.
This allows for const resolution in infer to use abstract consts to walk consts and check if
they are resolvable.

This attempts to resolve the issue where `Foo<{ concrete const }, generic T>` is incorrectly marked as conflicting, and is independent from the other issue where nested abstract consts must be resolved.

r? `@lcnr`
compiler/rustc_metadata/src/rmeta/decoder.rs
compiler/rustc_middle/src/thir.rs
compiler/rustc_middle/src/ty/mod.rs
compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs