1
Fork 0

Rollup merge of #108575 - compiler-errors:erase, r=estebank

Erase **all** regions when probing for associated types on ambiguity in astconv

Fixes #108562
This commit is contained in:
Matthias Krüger 2023-03-02 07:24:01 +01:00 committed by GitHub
commit 91dafebc91
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 2 deletions

View file

@ -2399,8 +2399,10 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
infcx
.can_eq(
ty::ParamEnv::empty(),
tcx.erase_regions(impl_.self_ty()),
tcx.erase_regions(qself_ty),
impl_.self_ty(),
// Must fold past escaping bound vars too,
// since we have those at this point in astconv.
tcx.fold_regions(qself_ty, |_, _| tcx.lifetimes.re_erased),
)
})
&& tcx.impl_polarity(impl_def_id) != ty::ImplPolarity::Negative