)]}'
{
  "commit": "0d35e0717cafc78fdd2f56dc57558901e2aeccb6",
  "tree": "ec88b445dc83a34de492b34d47bae31fc1065dc5",
  "parents": [
    "94dc83ff399266cbb86bfc1a7a525eb087b98715"
  ],
  "author": {
    "name": "Michael J. Sullivan",
    "email": "sully@msully.net",
    "time": "Thu Aug 09 11:41:53 2018 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Aug 09 11:41:53 2018 -0700"
  },
  "message": "Add a `FlexibleAlias` to `mypy_extensions` (#5436)\n\nCurrently there is no way to define generic type aliases that do not\r\ndepend on their type arguments or that are just directly a type\r\nvariable.\r\n\r\n`FlexibleAlias[T, typ]` creates a type that depends on `T` but that is\r\nexpanded to `typ` during type alias expansion.\r\n\r\nOne target use case for this is in creating conditionally defined type\r\naliases that depend on their argument under certain configurations but\r\nnot under others, for example:\r\n```\r\nif BOGUS:\r\n    Bogus \u003d FlexibleAlias[T, Any]\r\nelse:\r\n    Bogus \u003d FlexibleAlias[T, T]\r\n```\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0fc3b43e6606274194f3da79ee13eb987c29eb89",
      "old_mode": 33188,
      "old_path": "mypy_extensions.py",
      "new_id": "a05ea5509d2e48dc13ff1f7ddaea2aaab0d06b91",
      "new_mode": 33188,
      "new_path": "mypy_extensions.py"
    }
  ]
}
