From c975fe25e4b5756b03033e4819a5c5044ca353f2 Mon Sep 17 00:00:00 2001 From: Tor Hovland Date: Sun, 18 Apr 2021 17:30:04 +0200 Subject: [PATCH] Put attrs in a Box for memory efficiency. --- src/librustdoc/clean/types.rs | 2 +- src/librustdoc/clean/utils.rs | 2 +- src/librustdoc/html/render/print_item.rs | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/librustdoc/clean/types.rs b/src/librustdoc/clean/types.rs index 75c541a50ed5..dc8784df9311 100644 --- a/src/librustdoc/clean/types.rs +++ b/src/librustdoc/clean/types.rs @@ -2081,7 +2081,7 @@ crate enum ImportKind { crate struct ImportSource { crate path: Path, crate did: Option, - crate attrs: Option, + crate attrs: Option>, } #[derive(Clone, Debug)] diff --git a/src/librustdoc/clean/utils.rs b/src/librustdoc/clean/utils.rs index 898a5b0df5db..97dad8924b61 100644 --- a/src/librustdoc/clean/utils.rs +++ b/src/librustdoc/clean/utils.rs @@ -469,7 +469,7 @@ crate fn register_res(cx: &mut DocContext<'_>, res: Res) -> DefId { crate fn resolve_use_source(cx: &mut DocContext<'_>, path: Path) -> ImportSource { let did = if path.res.opt_def_id().is_none() { None } else { Some(register_res(cx, path.res)) }; - let attrs = did.map(|did| cx.tcx.get_attrs(did).clean(cx)); + let attrs = did.map(|did| Box::new(cx.tcx.get_attrs(did).clean(cx))); ImportSource { did, path, attrs } } diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs index 045ff5b4b897..d941095e5e17 100644 --- a/src/librustdoc/html/render/print_item.rs +++ b/src/librustdoc/html/render/print_item.rs @@ -285,8 +285,6 @@ fn item_module(w: &mut Buffer, cx: &Context<'_>, item: &clean::Item, items: &[cl let (stab, stab_tags) = if let (Some(def_id), Some(attrs)) = (import.source.did, import.source.attrs.clone()) { - let attrs = Box::new(attrs); - // Just need an item with the correct def_id and attrs let import_item = clean::Item { def_id, attrs, ..myitem.clone() };