about summary refs log tree commit diff
path: root/src/test/rustdoc
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-04-03 10:59:24 +0000
committerbors <bors@rust-lang.org>2021-04-03 10:59:24 +0000
commit640ce99bfe70375a24c6775a937d6a258b40398b (patch)
tree2cb8aa2003dc7ae7d030460f65ce5d7e4f5bfd4a /src/test/rustdoc
parentccd997592bf545fc54a9cce31f1280f833915ba1 (diff)
parente4244e37103d83b2cd54637ca2ac4f1c76c35a43 (diff)
downloadrust-640ce99bfe70375a24c6775a937d6a258b40398b.tar.gz
rust-640ce99bfe70375a24c6775a937d6a258b40398b.zip
Auto merge of #83738 - jyn514:only-load-some-crates, r=petrochenkov
rustdoc: Don't load all extern crates unconditionally

Instead, only load the crates that are linked to with intra-doc links.

This doesn't help very much with any of rustdoc's fundamental issues
with freezing the resolver, but it at least fixes a stable-to-stable
regression, and makes the crate loading model somewhat more consistent
with rustc's. I tested and it unfortunately does not help at all with https://github.com/rust-lang/rust/pull/82496.

Closes https://github.com/rust-lang/rust/issues/68427. Let me know if you want me to open a separate issue for not freezing the resolver.
r? `@petrochenkov` cc `@eddyb` `@ollie27`
Diffstat (limited to 'src/test/rustdoc')
-rw-r--r--src/test/rustdoc/intra-doc/auxiliary/issue-66159-1.rs (renamed from src/test/rustdoc/auxiliary/issue-66159-1.rs)0
-rw-r--r--src/test/rustdoc/intra-doc/extern-crate-only-used-in-link.rs8
-rw-r--r--src/test/rustdoc/issue-66159.rs10
3 files changed, 8 insertions, 10 deletions
diff --git a/src/test/rustdoc/auxiliary/issue-66159-1.rs b/src/test/rustdoc/intra-doc/auxiliary/issue-66159-1.rs
index 2f3d069bd51..2f3d069bd51 100644
--- a/src/test/rustdoc/auxiliary/issue-66159-1.rs
+++ b/src/test/rustdoc/intra-doc/auxiliary/issue-66159-1.rs
diff --git a/src/test/rustdoc/intra-doc/extern-crate-only-used-in-link.rs b/src/test/rustdoc/intra-doc/extern-crate-only-used-in-link.rs
new file mode 100644
index 00000000000..0964c79de06
--- /dev/null
+++ b/src/test/rustdoc/intra-doc/extern-crate-only-used-in-link.rs
@@ -0,0 +1,8 @@
+// aux-build:issue-66159-1.rs
+// aux-crate:priv:issue_66159_1=issue-66159-1.rs
+// build-aux-docs
+// compile-flags:-Z unstable-options
+
+// @has extern_crate_only_used_in_link/index.html
+// @has - '//a[@href="../issue_66159_1/struct.Something.html"]' 'issue_66159_1::Something'
+//! [issue_66159_1::Something]
diff --git a/src/test/rustdoc/issue-66159.rs b/src/test/rustdoc/issue-66159.rs
deleted file mode 100644
index 003d079a470..00000000000
--- a/src/test/rustdoc/issue-66159.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// aux-crate:priv:issue_66159_1=issue-66159-1.rs
-// compile-flags:-Z unstable-options
-
-// The issue was an ICE which meant that we never actually generated the docs
-// so if we have generated the docs, we're okay.
-// Since we don't generate the docs for the auxiliary files, we can't actually
-// verify that the struct is linked correctly.
-
-// @has issue_66159/index.html
-//! [issue_66159_1::Something]