Skip to content

Commit d98449d

Browse files
manually release cx.external_traits while building the new trait
1 parent 27a046e commit d98449d

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/librustdoc/clean/inline.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,11 @@ fn separate_supertrait_bounds(mut g: clean::Generics)
494494
}
495495

496496
pub fn record_extern_trait(cx: &DocContext, did: DefId) {
497-
cx.external_traits.borrow_mut().entry(did).or_insert_with(|| {
498-
build_external_trait(cx, did)
499-
});
497+
if cx.external_traits.borrow().contains_key(did) {
498+
return;
499+
}
500+
501+
let trait_ = build_external_trait(cx, did);
502+
503+
cx.external_traits.borrow_mut().insert(did, trait_);
500504
}

0 commit comments

Comments
 (0)