)]}'
{
  "commit": "3ad6157f9b66e71738bf39cae939aef7c3fd7ea8",
  "tree": "0a4fd2a804999e8c2d16d12fae4451af1fe5ca3a",
  "parents": [
    "4b6ec9d6e5ef73cb99b8741020b44dc5d8cd7909"
  ],
  "author": {
    "name": "NIYONSHUTI Emmanuel",
    "email": "nemmy0257@gmail.com",
    "time": "Tue Sep 01 20:18:06 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Sep 01 11:18:06 2026 -0700"
  },
  "message": "Fix match statement narrowing for self-matching class patterns with literal arguments (#21918)\n\nFixes #21780\n\nThis was likely because join_types was being used to combine two\npossible remaining types (e.g. tuple[int, int] and int), and it would\ncollapse those into object instead of keeping both, which is why mypy\ncouldn\u0027t narrow down to a bottom type (Never).\n\nThis PR replaces join_types with make_simplified_union, and adds a\nregression test based on the repro in the issue.\n\nCould be a better fix than this, I would welcome it.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "53fa75fa5ec389ace64b01e419ea38e1a5ad4b23",
      "old_mode": 33188,
      "old_path": "mypy/checkpattern.py",
      "new_id": "9d02262a1530d2ca6804d8aeea1b3a087cc600bf",
      "new_mode": 33188,
      "new_path": "mypy/checkpattern.py"
    },
    {
      "type": "modify",
      "old_id": "2f5b2d7ce8e868428929590d340e34f9961ac72b",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-python310.test",
      "new_id": "01e490d0da5076cbc253a59b01c73f29ced6db58",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-python310.test"
    }
  ]
}
