about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2022-10-16 21:51:13 +0400
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2022-10-16 21:55:55 +0400
commitdd7411d84868e415a88f12e5401abc29c257f3a4 (patch)
tree4561e9e11a823e88da7004d719dbdb2a7e445250
parentc65f3db2d947a616c9c50ee6ba72d40141a49e3e (diff)
downloadrust-dd7411d84868e415a88f12e5401abc29c257f3a4.tar.gz
rust-dd7411d84868e415a88f12e5401abc29c257f3a4.zip
rustdoc: Process extern impls in all loaded crates
including those loaded through hacks.
-rw-r--r--src/librustdoc/passes/collect_intra_doc_links/early.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/librustdoc/passes/collect_intra_doc_links/early.rs b/src/librustdoc/passes/collect_intra_doc_links/early.rs
index 38cfd7a27dd..50dc26d768c 100644
--- a/src/librustdoc/passes/collect_intra_doc_links/early.rs
+++ b/src/librustdoc/passes/collect_intra_doc_links/early.rs
@@ -48,7 +48,6 @@ pub(crate) fn early_resolve_intra_doc_links(
     link_resolver.resolve_doc_links_local(&krate.attrs);
     link_resolver.process_module_children_or_reexports(CRATE_DEF_ID.to_def_id());
     visit::walk_crate(&mut link_resolver, krate);
-    link_resolver.process_extern_impls();
 
     // FIXME: somehow rustdoc is still missing crates even though we loaded all
     // the known necessary crates. Load them all unconditionally until we find a way to fix this.
@@ -58,6 +57,8 @@ pub(crate) fn early_resolve_intra_doc_links(
         link_resolver.resolver.resolve_rustdoc_path(extern_name, TypeNS, parent_scope);
     }
 
+    link_resolver.process_extern_impls();
+
     ResolverCaches {
         markdown_links: Some(link_resolver.markdown_links),
         doc_link_resolutions: link_resolver.doc_link_resolutions,