Skip to content

Commit 73a0c79

Browse files
bugadaniJoshua Nelson
andcommitted
build_local_trait_impl: reuse memory
Co-authored-by: Joshua Nelson <[email protected]>
1 parent c6bc462 commit 73a0c79

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/librustdoc/passes/collect_trait_impls.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ crate fn collect_trait_impls(krate: Crate, cx: &DocContext<'_>) -> Crate {
5656

5757
// `tcx.crates()` doesn't include the local crate, and `tcx.all_trait_implementations`
5858
// doesn't work with it anyway, so pull them from the HIR map instead
59+
let mut extra_attrs = Vec::new();
5960
for &trait_did in cx.tcx.all_traits(LOCAL_CRATE).iter() {
6061
for &impl_node in cx.tcx.hir().trait_impls(trait_did) {
6162
let impl_did = cx.tcx.hir().local_def_id(impl_node);
6263
cx.tcx.sess.prof.generic_activity("build_local_trait_impl").run(|| {
63-
let mut extra_attrs = Vec::new();
6464
let mut parent = cx.tcx.parent(impl_did.to_def_id());
6565
while let Some(did) = parent {
6666
extra_attrs.extend(
@@ -86,6 +86,7 @@ crate fn collect_trait_impls(krate: Crate, cx: &DocContext<'_>) -> Crate {
8686
Some(&extra_attrs),
8787
&mut new_items,
8888
);
89+
extra_attrs.clear();
8990
});
9091
}
9192
}

0 commit comments

Comments
 (0)