Rollup merge of #119168 - petrochenkov:feedvis4, r=compiler-errors

resolve: Stop feeding visibilities for import list stems

Fixes https://github.com/rust-lang/rust/issues/119126
This commit is contained in:
Matthias Krüger 2023-12-20 21:19:00 +01:00 committed by GitHub
commit c36bb5dbb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 2 deletions

View File

@ -394,6 +394,7 @@ fn build_reduced_graph_for_use_tree(
id: NodeId,
parent_prefix: &[Segment],
nested: bool,
list_stem: bool,
// The whole `use` item
item: &Item,
vis: ty::Visibility,
@ -404,7 +405,9 @@ fn build_reduced_graph_for_use_tree(
parent_prefix, use_tree, nested
);
if nested {
// Top level use tree reuses the item's id and list stems reuse their parent
// use tree's ids, so in both cases their visibilities are already filled.
if nested && !list_stem {
self.r.feed_visibility(self.r.local_def_id(id), vis);
}
@ -592,7 +595,7 @@ fn build_reduced_graph_for_use_tree(
for &(ref tree, id) in items {
self.build_reduced_graph_for_use_tree(
// This particular use tree
tree, id, &prefix, true, // The whole `use` item
tree, id, &prefix, true, false, // The whole `use` item
item, vis, root_span,
);
}
@ -613,6 +616,7 @@ fn build_reduced_graph_for_use_tree(
id,
&prefix,
true,
true,
// The whole `use` item
item,
ty::Visibility::Restricted(
@ -648,6 +652,7 @@ fn build_reduced_graph_for_item(&mut self, item: &'b Item) {
item.id,
&[],
false,
false,
// The whole `use` item
item,
vis,

View File

@ -0,0 +1,14 @@
// check-pass
// edition: 2018
mod outer {
mod inner {
pub mod inner2 {}
}
pub(crate) use inner::{};
pub(crate) use inner::{{}};
pub(crate) use inner::{inner2::{}};
pub(crate) use inner::{inner2::{{}}};
}
fn main() {}