Make impl_trait_in_trait_container consider newly generated RPITITs

This commit is contained in:
Santiago Pastorino 2023-03-13 18:21:00 -03:00
parent 39ffe9699a
commit 39d19ca9f2
No known key found for this signature in database
GPG Key ID: 8131A24E0C79EFAF

View File

@ -2553,11 +2553,17 @@ impl<'tcx> TyCtxt<'tcx> {
}
pub fn impl_trait_in_trait_parent_fn(self, mut def_id: DefId) -> DefId {
while let def_kind = self.def_kind(def_id) && def_kind != DefKind::AssocFn {
debug_assert_eq!(def_kind, DefKind::ImplTraitPlaceholder);
def_id = self.parent(def_id);
match self.opt_rpitit_info(def_id) {
Some(ImplTraitInTraitData::Trait { fn_def_id, .. })
| Some(ImplTraitInTraitData::Impl { fn_def_id, .. }) => fn_def_id,
None => {
while let def_kind = self.def_kind(def_id) && def_kind != DefKind::AssocFn {
debug_assert_eq!(def_kind, DefKind::ImplTraitPlaceholder);
def_id = self.parent(def_id);
}
def_id
}
}
def_id
}
pub fn impl_method_has_trait_impl_trait_tys(self, def_id: DefId) -> bool {