)]}'
{
  "commit": "ffa3edef30e35dec026db970ec1d6522cb169711",
  "tree": "edcc9dd539635e1320e424ed7e50ae12a9418405",
  "parents": [
    "bb276bd2f105eaca378337b980ccc26ecf68cb2e"
  ],
  "author": {
    "name": "Randolf J.",
    "email": "me@jrandolf.com",
    "time": "Mon Sep 28 15:03:07 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Sep 28 15:03:07 2026 +0000"
  },
  "message": "Map all generated input roots into legacy doctest runfiles (#4271)\n\nLegacy doctests run from a runfiles directory, but the launcher only\nstrips output roots found through crate and C++ library providers. A\ngenerated rustc environment file built in an execution configuration\nretains a `bazel-out/...` path and fails before rustdoc starts.\n\nCollect the nonempty roots of every declared action input instead. This\nalso covers generated compiler/linker tools and keeps source paths\nintact. The new regression executes a doctest using an environment file\nforwarded through an execution transition; it fails with a missing-file\nerror on main and passes with this change.\n\nValidation on macOS with Bazel 9.2.0: 17 owning tests pass on this\nstandalone branch. This extends the C++ runtime-root handling from\n#4220. Windows execution was not tested locally.\n\nCloses #4288.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9a6a0efac4f71534d8ec27288006c65bfd664443",
      "old_mode": 33188,
      "old_path": "rust/private/rustdoc_test.bzl",
      "new_id": "777def8e6e8520cca5a421328d46da0271e04547",
      "new_mode": 33188,
      "new_path": "rust/private/rustdoc_test.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dfbf72bdfa711599d2cf88de1b01e0ebfa441555",
      "new_mode": 33188,
      "new_path": "test/rustdoc_generated_inputs/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c5230320e8984a2599ddc0a19f0e84c33d3e4e23",
      "new_mode": 33188,
      "new_path": "test/rustdoc_generated_inputs/input.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1f9c4b9a182bf4eaa8736e96e4412509163f5c76",
      "new_mode": 33188,
      "new_path": "test/rustdoc_generated_inputs/lib.rs"
    }
  ]
}
