)]}'
{
  "commit": "0aa2cafc0686b8b8543c44dd2b879e84a2f31e45",
  "tree": "00cd8e5b0e589a017baad37ac9cc849cf970ef59",
  "parents": [
    "98c2c1289ff76570457fc547ae254293aea6a019"
  ],
  "author": {
    "name": "Paddy",
    "email": "63754730+paddy174@users.noreply.github.com",
    "time": "Tue Mar 02 06:27:55 2021 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Mar 01 21:27:55 2021 -0800"
  },
  "message": "Fix recently added enum value type prediction (#10057)\n\nIn #9443, some code was added to predict the type of enum values where\r\nit is not explicitly when all enum members have the same type.\r\n\r\nHowever, it didn\u0027t consider that subclasses of Enum that have a custom\r\n__new__ implementation may use any type for the enum value (typically it\r\nwould use only one of their parameters instead of a whole tuple that is\r\nspecified in the definition of the member). Fix this by avoiding to\r\nguess the enum value type in classes that implement __new__.\r\n\r\nIn addition, the added code was buggy in that it didn\u0027t only consider\r\nclass attributes as enum members, but also instance attributes assigned\r\nto self.* in __init__. Fix this by ignoring implicit nodes when checking\r\nthe enum members.\r\n\r\nFixes #10000.\r\n\r\nCo-authored-by: Kevin Wolf \u003cmail@kevin-wolf.de\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e246e9de14b6fabe0eceb421e74a2b83fe1e514b",
      "old_mode": 33188,
      "old_path": "mypy/plugins/enums.py",
      "new_id": "bd531461d0fc276a53f51463d9bf2792772a9ee0",
      "new_mode": 33188,
      "new_path": "mypy/plugins/enums.py"
    },
    {
      "type": "modify",
      "old_id": "0da3217b72e84de317a5236eebedf6c08142922c",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-enum.test",
      "new_id": "27742a782d90b57c38a76aaaaf89dab76ea4f5b3",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-enum.test"
    }
  ]
}
