diff options
| author | bors <bors@rust-lang.org> | 2024-02-08 07:55:03 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-02-08 07:55:03 +0000 |
| commit | 81bef0b0ba78f9b7bb08beb0575e245fbe18674a (patch) | |
| tree | 97e586f6391def75bf9c6158cbe53e735fbd17a7 | |
| parent | 870a01a30e45d73b8e922a91850919e03f772636 (diff) | |
| parent | 0211221e9001314d54ece16e2634d51948f3ecb3 (diff) | |
| download | rust-81bef0b0ba78f9b7bb08beb0575e245fbe18674a.tar.gz rust-81bef0b0ba78f9b7bb08beb0575e245fbe18674a.zip | |
Auto merge of #120579 - GuillaumeGomez:prevent-running-unneeded-code, r=notriddle
Prevent running some code if it is already in the map I realized that a lot of duplicates were being run through this function. Might be better to prevent them from computing all the information if it's already in the cache. r? `@notriddle`
| -rw-r--r-- | src/librustdoc/clean/inline.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/librustdoc/clean/inline.rs b/src/librustdoc/clean/inline.rs index aab974ad79e..f65c09bf0e8 100644 --- a/src/librustdoc/clean/inline.rs +++ b/src/librustdoc/clean/inline.rs @@ -196,6 +196,14 @@ pub(crate) fn load_attrs<'hir>(cx: &DocContext<'hir>, did: DefId) -> &'hir [ast: /// These names are used later on by HTML rendering to generate things like /// source links back to the original item. pub(crate) fn record_extern_fqn(cx: &mut DocContext<'_>, did: DefId, kind: ItemType) { + if did.is_local() { + if cx.cache.exact_paths.contains_key(&did) { + return; + } + } else if cx.cache.external_paths.contains_key(&did) { + return; + } + let crate_name = cx.tcx.crate_name(did.krate); let relative = |
