)]}'
{
  "commit": "d2faa486394799bf8947b168dec0b61b7c6d8c50",
  "tree": "397731bf73cbbdf9324e5e0e6ee5cd8a86297640",
  "parents": [
    "addd0602c819b6526b9cc97653b0fadca395528c"
  ],
  "author": {
    "name": "Travis Cross",
    "email": "tc@traviscross.com",
    "time": "Thu Feb 05 17:12:05 2026 +0000"
  },
  "committer": {
    "name": "Travis Cross",
    "email": "tc@traviscross.com",
    "time": "Thu Feb 05 17:22:49 2026 +0000"
  },
  "message": "Remove exception WRT same-crate `non_exhaustive` reads\n\nWhen matching against a single-variant enum marked `non_exhaustive`\nand defined in a different crate, we pretend that there might be\nmultiple variants and force a read of the discriminant.  In [Rust PR\n150681], we decided to remove the same-crate exception.  Now matching\nagainst a single-variant `non_exhaustive` enum in the same crate will\nalso cause a discriminant read.\n\nSeparately, prior to [Rust PR 150681], `rustc` was eliding the\ndiscriminant read when an enum has only one *inhabited* variant.  This\ncontradicts what the Reference says in:\n\n\u003e r[type.closure.capture.precision.discriminants.uninhabited-variants]\n\u003e\n\u003e Even if all variants but the one being matched against are\n\u003e uninhabited, making the pattern [irrefutable][patterns.refutable],\n\u003e the discriminant is still read if it otherwise would be.\n\nWe decided with our lang FCP to confirm the behavior already encoded\nin the Reference, so no change is needed there.\n\n[Rust PR 150681]: https://github.com/rust-lang/rust/pull/150681\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "84bc951ab94fa90ea0f89c42917094a281625441",
      "old_mode": 33188,
      "old_path": "src/types/closure.md",
      "new_id": "c244e5520683582086d33e7011ee21ccf9bc802b",
      "new_mode": 33188,
      "new_path": "src/types/closure.md"
    }
  ]
}
