)]}'
{
  "commit": "87720fe4ec57e7912ca8d58989952a99c8751bf7",
  "tree": "f88267f92930cea073f197316b755a0c08756ac8",
  "parents": [
    "a4f4ffed8b6dc20366a5069ee168be1565486f22"
  ],
  "author": {
    "name": "TH3CHARLie",
    "email": "th3charlie@gmail.com",
    "time": "Tue Nov 05 01:51:05 2019 +0800"
  },
  "committer": {
    "name": "Ivan Levkivskyi",
    "email": "levkivskyi@gmail.com",
    "time": "Mon Nov 04 17:51:05 2019 +0000"
  },
  "message": "Generate an error if trying to use @final with TypedDict (#7865)\n\nFixes #7849 \r\n\r\nThis fix modifies function `analyze_class` in `mypy/semanal.py`, if the analyzer identifies a `TypedDict`, it then traverses all decorators and checks if `@final` exists, and if so, generates an error.\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "379f15648c89260e36def7cc4a36c63800728355",
      "old_mode": 33188,
      "old_path": "mypy/semanal.py",
      "new_id": "1975f2704c70e14f79146d4f3f5764c7cd518fc2",
      "new_mode": 33188,
      "new_path": "mypy/semanal.py"
    },
    {
      "type": "modify",
      "old_id": "267eca43ea7ad4b31293c735f540e92d81bbbdd7",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-typeddict.test",
      "new_id": "a11564080819878576a925ee112c56e89f211efd",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-typeddict.test"
    }
  ]
}
