rustc_metadata: Filter encoded data more aggressively using DefKind

This commit is contained in:
Vadim Petrochenkov 2023-03-29 22:15:38 +04:00
parent 9dd27b31ba
commit f5a9f6fb7e
6 changed files with 165 additions and 25 deletions

View file

@ -2580,7 +2580,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
tcx.all_impls(trait_def_id)
.filter(|impl_def_id| {
// Consider only accessible traits
tcx.visibility(*impl_def_id).is_accessible_from(self.item_def_id(), tcx)
tcx.visibility(trait_def_id).is_accessible_from(self.item_def_id(), tcx)
&& tcx.impl_polarity(impl_def_id) != ty::ImplPolarity::Negative
})
.filter_map(|impl_def_id| tcx.impl_trait_ref(impl_def_id))