Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #104602 - petrochenkov:effvisperf5, r=oli-obk
privacy: Fix more (potential) issues with effective visibilities Continuation of rust-lang/rust#103965. See individual commits for more detailed description of the changes. The shortcuts removed in rust-lang/rust@4eb63f6 and rust-lang/rust@c7c7d16 could actually be correct (or correct after some tweaks), but they used global reasoning like "we can skip this update because if the code compiles then some other update should do the same thing eventually". I have some expertise in this area, but I still have doubt whether such global reasoning was correct or not, especially in presence of all possible exotic cases with imports. After this PR all table changes should be "locally correct" after every update, even if it may be overcautious. If similar optimizations are introduced again they will need detailed comments explaining why it's legal to do what they do and providing proofs. Fixes rust-lang/rust#104249. Fixes rust-lang/rust#104539.
- Loading branch information