)]}'
{
  "commit": "57fef27cfc2bdfc1e3a65ef8c8a760198d15b14d",
  "tree": "3f3bcaea9b560b56838e63b4937912cd90b9dc57",
  "parents": [
    "b51b08a0a5fedde4f74e4cc338b8b5ad9656ad50"
  ],
  "author": {
    "name": "Jelle Zijlstra",
    "email": "jelle.zijlstra@gmail.com",
    "time": "Sun May 25 17:26:39 2025"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun May 25 17:26:39 2025"
  },
  "message": "gh-133960: Improve typing.evaluate_forward_ref (#133961)\n\nAs explained in #133960, this removes most of the behavior differences with ForwardRef.evaluate.\nThe remaining difference is about recursive evaluation of forwardrefs; this is practically useful\nin cases where an annotation refers to a type alias that itself is string-valued.\n\nThis also improves several edge cases that were previously not handled optimally. For example,\nthe function now takes advantage of the partial evaluation behavior of ForwardRef.evaluate() to\nevaluate more ForwardRefs in the FORWARDREF format.\n\nThis also fixes #133959 as a side effect, because the buggy behavior in #133959 derives from\nevaluate_forward_ref().\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "54cc3ea3311adf339780c08c794865de4e56f929",
      "old_mode": 33188,
      "old_path": "Doc/library/typing.rst",
      "new_id": "dd8ea3c364f49a54b8b06002aad688d478abdebe",
      "new_mode": 33188,
      "new_path": "Doc/library/typing.rst"
    },
    {
      "type": "modify",
      "old_id": "246be22a0d8ec4fc748f784dff8d0fa9097804cc",
      "old_mode": 33188,
      "old_path": "Lib/test/test_typing.py",
      "new_id": "e2b6f459aa24fccc0a55f8adf93c3ec2ff131936",
      "new_mode": 33188,
      "new_path": "Lib/test/test_typing.py"
    },
    {
      "type": "modify",
      "old_id": "98af61be8b071626ff412a70db53dff67561ceab",
      "old_mode": 33188,
      "old_path": "Lib/typing.py",
      "new_id": "ed1dd4fc6413a52af5b279115ce553f8566ee53b",
      "new_mode": 33188,
      "new_path": "Lib/typing.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "66e8483b25bc3790e38dd9738eb5a690bc80e208",
      "new_mode": 33188,
      "new_path": "Misc/NEWS.d/next/Library/2025-05-12-20-38-57.gh-issue-133960.Aee79f.rst"
    }
  ]
}
