)]}'
{
  "commit": "8ba4a9aeaf44daf897ebd5cd798e55d36dd61b1d",
  "tree": "6c83f621b27d39a318c96b46bfe42c8110abf099",
  "parents": [
    "c8bae06919674b9846e3ff864b0a44592db888eb"
  ],
  "author": {
    "name": "Jukka Lehtosalo",
    "email": "jukka.lehtosalo@iki.fi",
    "time": "Fri Mar 05 17:22:46 2021 +0000"
  },
  "committer": {
    "name": "Jukka Lehtosalo",
    "email": "jukka.lehtosalo@iki.fi",
    "time": "Fri Mar 05 17:48:49 2021 +0000"
  },
  "message": "Enable local partial types by default\n\nLocal partial types prevent inferring the variable type from two\nseparate scopes. For example, this is no longer accepted:\n\n```\nclass A:\n    x \u003d []  # Need type annotation here\n\n    def f(self) -\u003e None:\n        self.x.append(1)\n```\n\nAlso, initialization with just `None` is usually not allowed and\nrequires a type annotation:\n\n```\nx \u003d None  # Error\ny: None \u003d None  # OK\nz: Optional[str] \u003d None  # OK\n```\n\nThe mypy daemon only supports local partial types. This makes the\ndaemon and non-daemon modes behave consistently.\n\nAdd the `--no-local-partial-types` flag to revert to the old behavior.\n\nAlso make local partial types behavior closer to the old behavior\nin a few cases:\n\n- allow `x \u003d f(...)` even if the return type of `f(...)` is `None` when\n  `f` is generic\n- allow `x \u003d None` in an enum class body\n- allor for loop index variable to have an inferred `None` type\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fce7e7d7a08e2562bbd5b8939274c53b564e6f15",
      "old_mode": 33188,
      "old_path": "mypy/checker.py",
      "new_id": "772ab8b122d3f4d53bc1e2d1001b3993bede961e",
      "new_mode": 33188,
      "new_path": "mypy/checker.py"
    },
    {
      "type": "modify",
      "old_id": "eb53935db297dbdc2dad2412606a6c2fc298f121",
      "old_mode": 33188,
      "old_path": "mypy/dmypy_server.py",
      "new_id": "ad1b9d4a2ef2f5ec3b9f1440a7c43317d73a696d",
      "new_mode": 33188,
      "new_path": "mypy/dmypy_server.py"
    },
    {
      "type": "modify",
      "old_id": "40c5f39d2239320cd58867d966fb4836eb11a9f0",
      "old_mode": 33188,
      "old_path": "mypy/main.py",
      "new_id": "5dd4142d72a23d9e876c02358de1d87c9be62129",
      "new_mode": 33188,
      "new_path": "mypy/main.py"
    },
    {
      "type": "modify",
      "old_id": "026046af5da40e773280b2cbd216deb9dbdf4469",
      "old_mode": 33188,
      "old_path": "mypy/options.py",
      "new_id": "03c6c2dcd428475d0d4786969c7db8a8ed9f1a03",
      "new_mode": 33188,
      "new_path": "mypy/options.py"
    },
    {
      "type": "modify",
      "old_id": "e7b5e5aacd04d623c72252049e25f5c3f0fab79e",
      "old_mode": 33188,
      "old_path": "test-data/stdlib-samples/3.2/shutil.py",
      "new_id": "98ff6fd0f7e749db5b4a0ed10b6103e3be010f54",
      "new_mode": 33188,
      "new_path": "test-data/stdlib-samples/3.2/shutil.py"
    },
    {
      "type": "modify",
      "old_id": "4fa77b12055e5802852abbf68dd6931ccac14a8d",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-basic.test",
      "new_id": "6cdd4dde3a9acde43852bdd94c0f103672d04235",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-basic.test"
    },
    {
      "type": "modify",
      "old_id": "31a892337a2c0a64a1c487577978684c03a1b4e7",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-callable.test",
      "new_id": "76f5d95132560765c6f40e9b64ea8497dd6a2adb",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-callable.test"
    },
    {
      "type": "modify",
      "old_id": "43ff9721094729e1f40a3bda1ff9665f2c546981",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-columns.test",
      "new_id": "577d41e8b359216b4998ec2e46a64e8b545f0529",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-columns.test"
    },
    {
      "type": "modify",
      "old_id": "800c33c5124a178e66de7d0a77e30caa856b6e49",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-errorcodes.test",
      "new_id": "5ddedbc36c5508420e709c7e4d16248e596754e5",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-errorcodes.test"
    },
    {
      "type": "modify",
      "old_id": "8e57ca2a3841408c3ebaab5efdb19e815e132638",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-functions.test",
      "new_id": "ef10173c5a76cf4d54241b9cba085431550be15e",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-functions.test"
    },
    {
      "type": "modify",
      "old_id": "1b198f607e1a0b4b54519a82e0b567d84a94263d",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-inference.test",
      "new_id": "12825a53f3a55f42f26ccfa896f6b200c145eafc",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-inference.test"
    },
    {
      "type": "modify",
      "old_id": "a83df1ff016200860af3d40089e568f0a659bffd",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-literal.test",
      "new_id": "eadd24999a80f99308a63045981432f02114d7d5",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-literal.test"
    },
    {
      "type": "modify",
      "old_id": "8d054595d6857347951505f59e12b27c7f567773",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-optional.test",
      "new_id": "3bd18068811c93cf1a79182f135287aabf08bba3",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-optional.test"
    },
    {
      "type": "modify",
      "old_id": "b7f4fd5bdd8ea76495fdc5fa1a7833f716ef3d91",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-protocols.test",
      "new_id": "a01c31e3801e1c51feb6f955a9456608bbef7acb",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-protocols.test"
    },
    {
      "type": "modify",
      "old_id": "fe51cb4b8c1aebdfa8d77b4bfd12b1168d781ba1",
      "old_mode": 33188,
      "old_path": "test-data/unit/check-python2.test",
      "new_id": "d9028a45381b1164d822a6470caee64b616da9bf",
      "new_mode": 33188,
      "new_path": "test-data/unit/check-python2.test"
    },
    {
      "type": "modify",
      "old_id": "8c074abc83a23b79fa80dc980006f9448a8ffc8b",
      "old_mode": 33188,
      "old_path": "test-data/unit/deps.test",
      "new_id": "4383299ff1259e1db817f288e4c878d4ca4a408d",
      "new_mode": 33188,
      "new_path": "test-data/unit/deps.test"
    }
  ]
}
