1
Fork 0

Auto merge of #112426 - Bryanskiy:full_priv_ev, r=petrochenkov

increase the accuracy of effective visibilities calculation

Effective visibilities are calculated lazily due to performance restrictions.  Therefore

- crate should be walked at least 1 time in `compute_effective_visibilities` pass
- Impl's should always be in the effective visibilities table

to ensure that the table is filled in correctly.

r? `@petrochenkov`
This commit is contained in:
bors 2023-06-10 02:16:24 +00:00
commit 29611778b7
4 changed files with 69 additions and 26 deletions

View file

@ -81,7 +81,7 @@ impl<'r, 'a, 'tcx> EffectiveVisibilitiesVisitor<'r, 'a, 'tcx> {
def_effective_visibilities: Default::default(),
import_effective_visibilities: Default::default(),
current_private_vis: Visibility::Restricted(CRATE_DEF_ID),
changed: false,
changed: true,
};
visitor.def_effective_visibilities.update_root();