Skip to content

Commit 90ef94e

Browse files
committed
Only calculate the start_def_id if necessary
1 parent f0b662e commit 90ef94e

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/librustdoc/core.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -140,20 +140,20 @@ impl<'tcx> DocContext<'tcx> {
140140
/// [`Debug`]: std::fmt::Debug
141141
/// [`clean::Item`]: crate::clean::types::Item
142142
crate fn next_def_id(&self, crate_num: CrateNum) -> DefId {
143-
let start_def_id = {
144-
let num_def_ids = if crate_num == LOCAL_CRATE {
145-
self.tcx.hir().definitions().def_path_table().num_def_ids()
146-
} else {
147-
self.enter_resolver(|r| r.cstore().num_def_ids(crate_num))
148-
};
149-
150-
DefId { krate: crate_num, index: DefIndex::from_usize(num_def_ids) }
151-
};
152-
153143
let mut fake_ids = self.fake_def_ids.borrow_mut();
154144

155145
let def_id = match fake_ids.entry(crate_num) {
156146
Entry::Vacant(e) => {
147+
let start_def_id = {
148+
let num_def_ids = if crate_num == LOCAL_CRATE {
149+
self.tcx.hir().definitions().def_path_table().num_def_ids()
150+
} else {
151+
self.enter_resolver(|r| r.cstore().num_def_ids(crate_num))
152+
};
153+
154+
DefId { krate: crate_num, index: DefIndex::from_usize(num_def_ids) }
155+
};
156+
157157
MAX_DEF_ID.with(|m| {
158158
m.borrow_mut().insert(crate_num, start_def_id);
159159
});

0 commit comments

Comments
 (0)