Rollup merge of #109259 - GuillaumeGomez:fix-missing-private-inlining, r=notriddle
rustdoc: Fix missing private inlining Fixes https://github.com/rust-lang/rust/issues/109258. If the item isn't inlined, it shouldn't have been added into `view_item_stack`. The problem here was that it was not removed, preventing sub items to be inlined if they have a re-export in "upper levels". cc `@epage` r? `@notriddle`
This commit is contained in:
commit
c07679989a
2 changed files with 31 additions and 4 deletions
|
|
@ -265,10 +265,6 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
|
|||
return false;
|
||||
}
|
||||
|
||||
if !self.view_item_stack.insert(res_did) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if !please_inline &&
|
||||
let mut visitor = OneLevelVisitor::new(self.cx.tcx.hir(), res_did) &&
|
||||
let Some(item) = visitor.find_target(self.cx.tcx, def_id.to_def_id(), path) &&
|
||||
|
|
@ -285,6 +281,10 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
|
|||
return false;
|
||||
}
|
||||
|
||||
if !self.view_item_stack.insert(res_did) {
|
||||
return false;
|
||||
}
|
||||
|
||||
let ret = match tcx.hir().get_by_def_id(res_did) {
|
||||
Node::Item(&hir::Item { kind: hir::ItemKind::Mod(ref m), .. }) if glob => {
|
||||
let prev = mem::replace(&mut self.inlining, true);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue