rustdoc: test for loading index when user said no

Also mentioned, as a perf problem, in
<https://github.com/rust-lang/cargo/pull/16309#discussion_r2586792981>
diff --git a/tests/run-make/rustdoc-merge-directory-alias/dep1.rs b/tests/run-make/rustdoc-merge-directory-alias/dep1.rs
index d1b32cc..b62f31c 100644
--- a/tests/run-make/rustdoc-merge-directory-alias/dep1.rs
+++ b/tests/run-make/rustdoc-merge-directory-alias/dep1.rs
@@ -6,5 +6,5 @@
 //@ hasraw crates.js 'dep1'
 //@ hasraw search.index/name/*.js 'Dep1'
 //@ has dep1/index.html
-#[doc(alias="dep1_missing")]
+#[doc(alias = "dep1_missing")]
 pub struct Dep5;
diff --git a/tests/run-make/rustdoc-merge-directory-alias/dep_missing.rs b/tests/run-make/rustdoc-merge-directory-alias/dep_missing.rs
new file mode 100644
index 0000000..74236ae
--- /dev/null
+++ b/tests/run-make/rustdoc-merge-directory-alias/dep_missing.rs
@@ -0,0 +1,4 @@
+//@ !hasraw crates.js 'dep_missing'
+//@ !hasraw search.index/name/*.js 'DepMissing'
+//@ has dep_missing/index.html
+pub struct DepMissing;
diff --git a/tests/run-make/rustdoc-merge-directory-alias/rmake.rs b/tests/run-make/rustdoc-merge-directory-alias/rmake.rs
index 934e695..096eb4a 100644
--- a/tests/run-make/rustdoc-merge-directory-alias/rmake.rs
+++ b/tests/run-make/rustdoc-merge-directory-alias/rmake.rs
@@ -61,6 +61,28 @@ fn main() {
         .run();
     output3.assert_stderr_not_contains("error: the compiler unexpectedly panicked. this is a bug.");
 
+    // dep_missing is different, because --parts-out-dir is not supplied
+    rustdoc().input("dep_missing.rs").out_dir(&out_dir).run();
+    assert!(parts_out_dir.join("dep2.json").exists());
+
+    rustdoc()
+        .input("dep1.rs")
+        .out_dir(&out_dir)
+        .arg("-Zunstable-options")
+        .arg(format!("--parts-out-dir={}", parts_out_dir.display()))
+        .arg("--merge=none")
+        .run();
+    assert!(parts_out_dir.join("dep1.json").exists());
+
+    let output4 = rustdoc()
+        .arg("-Zunstable-options")
+        .out_dir(&out_dir)
+        .arg(format!("--include-parts-dir={}", parts_out_dir.display()))
+        .arg("--merge=finalize")
+        .run();
+    output4.assert_stderr_not_contains("error: the compiler unexpectedly panicked. this is a bug.");
+
     htmldocck().arg(&out_dir).arg("dep1.rs").run();
     htmldocck().arg(&out_dir).arg("dep2.rs").run();
+    htmldocck().arg(&out_dir).arg("dep_missing.rs").run();
 }