Skip to content

Commit 4c813a7

Browse files
committed
Remove make_child_renderer
1 parent 90ac1ab commit 4c813a7

File tree

3 files changed

+5
-27
lines changed

3 files changed

+5
-27
lines changed

src/librustdoc/formats/renderer.rs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,6 @@ crate trait FormatRenderer<'tcx>: Sized {
2727
tcx: TyCtxt<'tcx>,
2828
) -> Result<(Self, clean::Crate), Error>;
2929

30-
/// Make a new renderer to render a child of the item currently being rendered.
31-
fn make_child_renderer(&self) -> Self;
32-
3330
/// Renders a single non-module item. This means no recursive sub-item rendering is required.
3431
fn item(&mut self, item: clean::Item) -> Result<(), Error>;
3532

@@ -57,7 +54,7 @@ crate fn run_format<'tcx, T: FormatRenderer<'tcx>>(
5754
let prof = &tcx.sess.prof;
5855

5956
let emit_crate = options.should_emit_crate();
60-
let (mut format_renderer, krate) = prof
57+
let (mut cx, krate) = prof
6158
.extra_verbose_generic_activity("create_renderer", T::descr())
6259
.run(|| T::init(krate, options, cache, tcx))?;
6360

@@ -66,10 +63,10 @@ crate fn run_format<'tcx, T: FormatRenderer<'tcx>>(
6663
}
6764

6865
// Render the crate documentation
69-
let mut work = vec![(format_renderer.make_child_renderer(), krate.module)];
66+
let mut work = vec![krate.module];
7067

7168
let unknown = Symbol::intern("<unknown item>");
72-
while let Some((mut cx, item)) = work.pop() {
69+
while let Some(item) = work.pop() {
7370
if item.is_mod() && T::RUN_ON_MODULE {
7471
// modules are special because they add a namespace. We also need to
7572
// recurse into the items of the module as well.
@@ -81,11 +78,7 @@ crate fn run_format<'tcx, T: FormatRenderer<'tcx>>(
8178
clean::StrippedItem(box clean::ModuleItem(m)) | clean::ModuleItem(m) => m,
8279
_ => unreachable!(),
8380
};
84-
for it in module.items {
85-
debug!("Adding {:?} to worklist", it.name);
86-
work.push((cx.make_child_renderer(), it));
87-
}
88-
81+
work.extend(module.items);
8982
cx.mod_item_out()?;
9083
// FIXME: checking `item.name.is_some()` is very implicit and leads to lots of special
9184
// cases. Use an explicit match instead.
@@ -95,5 +88,5 @@ crate fn run_format<'tcx, T: FormatRenderer<'tcx>>(
9588
}
9689
}
9790
prof.extra_verbose_generic_activity("renderer_after_krate", T::descr())
98-
.run(|| format_renderer.after_krate())
91+
.run(|| cx.after_krate())
9992
}

src/librustdoc/html/render/context.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -521,17 +521,6 @@ impl<'tcx> FormatRenderer<'tcx> for Context<'tcx> {
521521
Ok((cx, krate))
522522
}
523523

524-
fn make_child_renderer(&self) -> Self {
525-
Self {
526-
current: self.current.clone(),
527-
dst: self.dst.clone(),
528-
render_redirect_pages: self.render_redirect_pages,
529-
id_map: RefCell::new(IdMap::new()),
530-
shared: Rc::clone(&self.shared),
531-
include_sources: self.include_sources,
532-
}
533-
}
534-
535524
fn after_krate(&mut self) -> Result<(), Error> {
536525
let crate_name = self.tcx().crate_name(LOCAL_CRATE);
537526
let final_file = self.dst.join(&*crate_name.as_str()).join("all.html");

src/librustdoc/json/mod.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,10 +150,6 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> {
150150
))
151151
}
152152

153-
fn make_child_renderer(&self) -> Self {
154-
self.clone()
155-
}
156-
157153
/// Inserts an item into the index. This should be used rather than directly calling insert on
158154
/// the hashmap because certain items (traits and types) need to have their mappings for trait
159155
/// implementations filled out before they're inserted.

0 commit comments

Comments
 (0)