Propagate 'inmemoryUnusedInputsList' from target to host config.

RELNOTES:
PiperOrigin-RevId: 271096291
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java
index 883eb9f..a681994 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java
@@ -784,6 +784,7 @@
     host.enforceConstraints = enforceConstraints;
     host.mergeGenfilesDirectory = mergeGenfilesDirectory;
     host.cpu = hostCpu;
+    host.inmemoryUnusedInputsList = inmemoryUnusedInputsList;
 
     // === Runfiles ===
     host.buildRunfilesManifests = buildRunfilesManifests;
diff --git a/src/test/shell/integration/skylark_dependency_pruning_test.sh b/src/test/shell/integration/skylark_dependency_pruning_test.sh
index 1591704..626041b 100755
--- a/src/test/shell/integration/skylark_dependency_pruning_test.sh
+++ b/src/test/shell/integration/skylark_dependency_pruning_test.sh
@@ -45,6 +45,21 @@
     executable = ":cat_unused",
     inputs = ":all_inputs",
 )
+
+sh_binary(
+    name = "cat_unused2",
+    srcs = ["cat_unused.sh"],
+    data = [
+      "output.out",
+    ],
+)
+
+build_rule(
+    name = "output2",
+    out = "output2.out",
+    executable = ":cat_unused2",
+    inputs = ":all_inputs",
+)
 EOF
 
   cat > pkg/build.bzl << 'EOF'
@@ -284,4 +299,24 @@
   expect_log "bin/pkg/output.unused (No such file or directory)"
 }
 
+# Test with orphaned artifacts features with host config.
+# output2 requires a tool (cat_unused2) that uses unused_inputs_list.
+# This requires --experimental_inmemory_unused_inputs_list flag.
+function test_orphaned_artifacts_host_config() {
+  options="--discard_orphaned_artifacts \
+      --force_multigroup_accounting \
+      --nokeep_state_after_build"
+
+  # Use in-memory files.
+  bazel build ${options} --experimental_inmemory_unused_inputs_list \
+      //pkg:output2 || fail "build failed"
+
+  # This should fail while building "output", needed by the tool.
+  bazel build ${options} --noexperimental_inmemory_unused_inputs_list \
+      //pkg:output2 >& $TEST_log && fail "Expected failure"
+  exitcode=$?
+  assert_equals 1 "$exitcode"
+  expect_log "bin/pkg/output.unused (No such file or directory)"
+}
+
 run_suite "Tests Skylark dependency pruning"