c5842b0be7
resolve: More detailed effective visibility tracking for imports Per-`DefId` tracking is not enough, due to glob imports in particular, which have a single `DefId` for the whole glob import item. We need to track this stuff per every introduced name (`NameBinding`). Also drop `extern` blocks from the effective visibility table, they are nominally private and it doesn't make sense to keep them there. Later commits add some debug-only invariant checking and optimiaztions to mitigate regressions in https://github.com/rust-lang/rust/pull/103965#issuecomment-1304256445. This is a bugfix and continuation of https://github.com/rust-lang/rust/pull/102026. |
||
---|---|---|
.. | ||
diagnostics | ||
late | ||
build_reduced_graph.rs | ||
check_unused.rs | ||
def_collector.rs | ||
diagnostics.rs | ||
effective_visibilities.rs | ||
ident.rs | ||
imports.rs | ||
late.rs | ||
lib.rs | ||
macros.rs |