Rollup merge of #95179 - b-naber:eval-in-try-unify, r=lcnr
Try to evaluate in try unify and postpone resolution of constants that contain inference variables We want code like that in [`ui/const-generics/generic_const_exprs/eval-try-unify.rs`](https://github.com/rust-lang/rust/compare/master...b-naber:eval-in-try-unify?expand=1#diff-8027038201cf07a6c96abf3cbf0b0f4fdd8a64ce6292435f01c8ed995b87fe9b) to compile. To do that we need to try to evaluate constants in `try_unify_abstract_consts`, this requires us to be more careful about what constants we try to resolve, specifically we cannot try to resolve constants that still contain inference variables. r? `@lcnr`
This commit is contained in:
commit
1fcb8fc3e0
13 changed files with 283 additions and 287 deletions
|
@ -331,12 +331,12 @@ rustc_queries! {
|
|||
}
|
||||
}
|
||||
|
||||
query try_unify_abstract_consts(key: (
|
||||
ty::Unevaluated<'tcx, ()>, ty::Unevaluated<'tcx, ()>
|
||||
)) -> bool {
|
||||
query try_unify_abstract_consts(key:
|
||||
ty::ParamEnvAnd<'tcx, (ty::Unevaluated<'tcx, ()>, ty::Unevaluated<'tcx, ()>
|
||||
)>) -> bool {
|
||||
desc {
|
||||
|tcx| "trying to unify the generic constants {} and {}",
|
||||
tcx.def_path_str(key.0.def.did), tcx.def_path_str(key.1.def.did)
|
||||
tcx.def_path_str(key.value.0.def.did), tcx.def_path_str(key.value.1.def.did)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue