)]}'
{
  "commit": "8c70e8043db2c3b537bdfaa42632451950f51b68",
  "tree": "2d855d8bc9ca9fb065df858253f86e7f8bfe019f",
  "parents": [
    "e0b159e0bb6bd414d2999bfcecbb5432541ec3fd"
  ],
  "author": {
    "name": "Jukka Lehtosalo",
    "email": "jukka.lehtosalo@iki.fi",
    "time": "Thu Jul 06 18:09:27 2023 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 06 18:09:27 2023 +0100"
  },
  "message": "[mypyc] Support the u8 native integer type (#15564)\n\nThis is mostly similar to `i16` that I added recently in #15464, but\r\nthere are some\r\ndifferences:\r\n* Some adjustments were needed to support unsigned integers\r\n* Add overflow checking of literals, since it\u0027s easy to over/underflow\r\nwhen using `u8` due to limited range\r\n* Rename primitive integer types from `int16` to `i16` (etc.) to match\r\nthe user-visible types (needed to get some error messages consistent,\r\nand it\u0027s generally nicer)\r\n* Overall make things a bit more consistent\r\n* Actually update `mypy_extensions` stubs\r\n\r\nThis is an unsigned type to make it easier to work with binary/bytes\r\ndata. The item values for `bytes` are unsigned 8-bit values, in\r\nparticular. This type will become much more useful once we support\r\npacked arrays.\r\n\r\n---------\r\n\r\nCo-authored-by: Shantanu \u003c12621235+hauntsaninja@users.noreply.github.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "784ef538f197f3e9d7a6c5d7f585c69c7659a73f",
      "old_mode": 33188,
      "old_path": "mypy/types.py",
      "new_id": "ba629a3553cfbe2360f449feeb807918e393c73c",
      "new_mode": 33188,
      "new_path": "mypy/types.py"
    },
    {
      "type": "modify",
      "old_id": "86a071500b34b599c96f3e77ac1f088a84482d05",
      "old_mode": 33188,
      "old_path": "mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi",
      "new_id": "b6358a0022f3befd87d727c8058722c9bcabe2a8",
      "new_mode": 33188,
      "new_path": "mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi"
    },
    {
      "type": "modify",
      "old_id": "1bd376754ab9403f8ccba1cdde2ae5dfb0d8adc1",
      "old_mode": 33188,
      "old_path": "mypyc/codegen/emit.py",
      "new_id": "7d41ee7e162b62d876180fb7d4a01e22a94fed65",
      "new_mode": 33188,
      "new_path": "mypyc/codegen/emit.py"
    },
    {
      "type": "modify",
      "old_id": "1705b7672409325bffe4b015bd236a3991f4edbf",
      "old_mode": 33188,
      "old_path": "mypyc/doc/float_operations.rst",
      "new_id": "feae5a806c70b220e2354cb8d2560b2cf66a6a50",
      "new_mode": 33188,
      "new_path": "mypyc/doc/float_operations.rst"
    },
    {
      "type": "modify",
      "old_id": "88a4a9d778a1c3a9bcdc1713a7699a5462dbada1",
      "old_mode": 33188,
      "old_path": "mypyc/doc/int_operations.rst",
      "new_id": "eb875f5c9452337fe8e30b6d8d2941d70f895d16",
      "new_mode": 33188,
      "new_path": "mypyc/doc/int_operations.rst"
    },
    {
      "type": "modify",
      "old_id": "5bfff388e433108b16c93089c2143acebd984796",
      "old_mode": 33188,
      "old_path": "mypyc/doc/using_type_annotations.rst",
      "new_id": "04c923819d547f9729388b166042bbbdba9772eb",
      "new_mode": 33188,
      "new_path": "mypyc/doc/using_type_annotations.rst"
    },
    {
      "type": "modify",
      "old_id": "cb8d9662820c553a8ad59843f2276b7221b91731",
      "old_mode": 33188,
      "old_path": "mypyc/ir/ops.py",
      "new_id": "d80c479211b7be7782d8909811a94ac1844629a7",
      "new_mode": 33188,
      "new_path": "mypyc/ir/ops.py"
    },
    {
      "type": "modify",
      "old_id": "fe0c51ea2221d1a09235039e2dbbab72405d5883",
      "old_mode": 33188,
      "old_path": "mypyc/ir/rtypes.py",
      "new_id": "fa46feb0b59add633990327352ce6a13e407a12a",
      "new_mode": 33188,
      "new_path": "mypyc/ir/rtypes.py"
    },
    {
      "type": "modify",
      "old_id": "10f057a29bbb917f84d7a5ba6d89784afaa977d3",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/builder.py",
      "new_id": "8c68f91bf6339008908d120b961603a0f548e00c",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/builder.py"
    },
    {
      "type": "modify",
      "old_id": "ada3d47cefab0e29fa7b46cb1011cd1b18d70045",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/expression.py",
      "new_id": "8d205b432d2d568614b1387988b9ba60b850e503",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/expression.py"
    },
    {
      "type": "modify",
      "old_id": "e34f0370404766a571e5d0b89b4132af1ccfa9f6",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/ll_builder.py",
      "new_id": "984b6a4deec0f8b62fe7bdd0e64e4fd9a74a4bc5",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/ll_builder.py"
    },
    {
      "type": "modify",
      "old_id": "a4712f4af524c371ba30c8237becf27f51aa1ae5",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/mapper.py",
      "new_id": "5b77b4b1537b2fa60851c14edbf0d3f8a491e54f",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/mapper.py"
    },
    {
      "type": "modify",
      "old_id": "2f22b4bfc9d205babc6e9c876bd0a1b433f9dc9c",
      "old_mode": 33188,
      "old_path": "mypyc/irbuild/specialize.py",
      "new_id": "7c595845788666abf8471c1b9d91185b086012c7",
      "new_mode": 33188,
      "new_path": "mypyc/irbuild/specialize.py"
    },
    {
      "type": "modify",
      "old_id": "689526e0e826632a6f2cfe952f7aa76a60ee450c",
      "old_mode": 33188,
      "old_path": "mypyc/lib-rt/CPy.h",
      "new_id": "64b716945b94490f7a36bbfed6743c2d38838f6a",
      "new_mode": 33188,
      "new_path": "mypyc/lib-rt/CPy.h"
    },
    {
      "type": "modify",
      "old_id": "528401692a3a6fe79b1d7b0c304d98b6648da5c1",
      "old_mode": 33188,
      "old_path": "mypyc/lib-rt/int_ops.c",
      "new_id": "b57d88c6ac93477b27ea46a0bd87cb53a27adcb5",
      "new_mode": 33188,
      "new_path": "mypyc/lib-rt/int_ops.c"
    },
    {
      "type": "modify",
      "old_id": "e7e9fd768715709cc953f954763abad41e750c3c",
      "old_mode": 33188,
      "old_path": "mypyc/lib-rt/mypyc_util.h",
      "new_id": "3c888a581a33f9c5681f466c6c697425d59240f6",
      "new_mode": 33188,
      "new_path": "mypyc/lib-rt/mypyc_util.h"
    },
    {
      "type": "modify",
      "old_id": "ef79bbc51ce69bbfae1ad43a87af7a999a139c06",
      "old_mode": 33188,
      "old_path": "mypyc/primitives/int_ops.py",
      "new_id": "95f9cc5ff43f15ec1ffda96b7ff083489c36e9f7",
      "new_mode": 33188,
      "new_path": "mypyc/primitives/int_ops.py"
    },
    {
      "type": "modify",
      "old_id": "16bf8ba1eb89d29b6d715f726e96ecca75e0717c",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/exceptions.test",
      "new_id": "ed43b86ebdb446d23d2f3204b7e19b982085748a",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/exceptions.test"
    },
    {
      "type": "modify",
      "old_id": "8274e3d5c61902f03503c9630cb23030adb91eb3",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-any.test",
      "new_id": "98f3dae9ee881006cc797823b3520d331448abec",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-any.test"
    },
    {
      "type": "modify",
      "old_id": "556e0a4bbc50fb899ff23fe460331ab28029a5c5",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-basic.test",
      "new_id": "33fc8cfaa83b79cecaa69ccdb8ba079cc30e47a5",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-basic.test"
    },
    {
      "type": "modify",
      "old_id": "9257d8d63f7ebdcff1dfadf590dfcf796a69a917",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-bool.test",
      "new_id": "731d393d69ab1d71886b39828418d95fd568db44",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-bool.test"
    },
    {
      "type": "modify",
      "old_id": "f13a1a956580e95b01a1f10c65fd899624b8398a",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-bytes.test",
      "new_id": "8e97a7f4a5690dbf4f8cfdcfdc00cecb32c89e57",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-bytes.test"
    },
    {
      "type": "modify",
      "old_id": "0a7076e5f0ad2bdcf87b0600b9d67de4ecb0024d",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-classes.test",
      "new_id": "55e55dbf3286ce05f8d97b6c0d5b06ac2058f18b",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-classes.test"
    },
    {
      "type": "modify",
      "old_id": "362031b84e765cf56590804a9271392736f4f406",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-dict.test",
      "new_id": "1a84f3fe3098b9c6e4ded08665b49c8a62a62156",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-dict.test"
    },
    {
      "type": "modify",
      "old_id": "3c140d927c0f946b63e69f978728cc0222d6c5d9",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-dunders.test",
      "new_id": "b50b6eeae162881b125748d6cc8e90b9a38c529c",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-dunders.test"
    },
    {
      "type": "modify",
      "old_id": "e3a60852574b857817e95529a5d03c1b57028c99",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-float.test",
      "new_id": "35e2eff62b8635c751846d4aa97110d3f92ef57c",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-float.test"
    },
    {
      "type": "modify",
      "old_id": "fe4a949927174fb4e22b59111f23b6fe07fc9ccb",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-generics.test",
      "new_id": "35920889e5962de0ff5ed500ae943d3053f1584c",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-generics.test"
    },
    {
      "type": "modify",
      "old_id": "6d749bf5dd8488fbfdcf88c8aca59eba186e5af1",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-glue-methods.test",
      "new_id": "3012c79586f259b3dc73e161117e376258cd3a18",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-glue-methods.test"
    },
    {
      "type": "modify",
      "old_id": "0f34ea53818d5409bd1e698a5d51172c5fffe977",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-i16.test",
      "new_id": "a03c9df2c6ac468d0cbd32669ac8c0f153b8a5d8",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-i16.test"
    },
    {
      "type": "modify",
      "old_id": "4b69fa3a6bbb0986f571940058e897c704ddc683",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-i32.test",
      "new_id": "7dcb722ec9067dfa832ad57b89faa1bb5918658f",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-i32.test"
    },
    {
      "type": "modify",
      "old_id": "38561178ddd0ab75911ac8777917462a082847a5",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-i64.test",
      "new_id": "07f549c9fcc2054cf1843a8800dd685332a60f2b",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-i64.test"
    },
    {
      "type": "modify",
      "old_id": "6bb92d0a947e8749bdf2d837f129bb99b79a38c1",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-isinstance.test",
      "new_id": "78da2e9c1e196a1ec9b8492c0fec0c91d6e6d0ff",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-isinstance.test"
    },
    {
      "type": "modify",
      "old_id": "eaeff9432446e173973910130f04830b46645cd8",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-lists.test",
      "new_id": "80c4fe5fcd5e04480f7755e4b52aa58481fe0a05",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-lists.test"
    },
    {
      "type": "modify",
      "old_id": "2afe3d862f5178a78fb8b9e9faca61a21c254fe0",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-match.test",
      "new_id": "a078ae0defdbf4e786ff398b4d498b13a600d621",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-match.test"
    },
    {
      "type": "modify",
      "old_id": "e98cf1b19e2e9e38ad91ba83737165306b034159",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-optional.test",
      "new_id": "e89018a727dabad3bea71708007228a9bb076a97",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-optional.test"
    },
    {
      "type": "modify",
      "old_id": "b6c551124769ac915dd9edff4af527f66e88185b",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-set.test",
      "new_id": "a56ebe3438fa039d90b7a5d384ae8d6769fd2c80",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-set.test"
    },
    {
      "type": "modify",
      "old_id": "4e18bbf50d4e2538b5bc5c9e89c17223358c5cff",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-singledispatch.test",
      "new_id": "10970a385966a8cd46703040ac99e5986907fbe0",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-singledispatch.test"
    },
    {
      "type": "modify",
      "old_id": "090c7ed9f3df31558470c5db0fd89d79f9aba00f",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-statements.test",
      "new_id": "062abd47d163ada5702c90f903186fa9dda3e562",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-statements.test"
    },
    {
      "type": "modify",
      "old_id": "63be7250ebd102d14a483bbfc79c62c378b5b5bf",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-str.test",
      "new_id": "9851e0f4fb24d8ad6b23e6be0d1577b4f33a23e5",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-str.test"
    },
    {
      "type": "modify",
      "old_id": "faf3fa1dbd2f0bbdce109272e3831ab3d4e38676",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-try.test",
      "new_id": "a5b7b9a55b868b1a3eca6e66a859e7ce63ba6ddc",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-try.test"
    },
    {
      "type": "modify",
      "old_id": "6a86a6c6781b9d698beb0d86c55300a8c7019d9f",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-tuple.test",
      "new_id": "a47f3db6a7254e47c6d96eb74c41b2e434753175",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-tuple.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "14f691c9451f238540046c837896822893615c29",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-u8.test"
    },
    {
      "type": "modify",
      "old_id": "2c164491a5a12f27f69adf56cec8e72ba3c6e33e",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/irbuild-unreachable.test",
      "new_id": "1c024a249bf1cb640e46c35337bd2b15fd78bd39",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/irbuild-unreachable.test"
    },
    {
      "type": "modify",
      "old_id": "372956a00cabb39b5fcd4144d79d217bfa7e867a",
      "old_mode": 33188,
      "old_path": "mypyc/test-data/refcount.test",
      "new_id": "3db4caa39566527b55160348e3873e7717fce584",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/refcount.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cddb031e335246c61edc4bb695a6c1eb829a0128",
      "new_mode": 33188,
      "new_path": "mypyc/test-data/run-u8.test"
    },
    {
      "type": "modify",
      "old_id": "2b14619a9884ff12f633dbe62aa187999da667a5",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_irbuild.py",
      "new_id": "5b3f678d8f1731564eada736aee0066d7e918c16",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_irbuild.py"
    },
    {
      "type": "modify",
      "old_id": "008963642272b2ea3db5c719658bf548d7cd87bf",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_ircheck.py",
      "new_id": "7f7063cdc5e60309b1aa03eb5dba5766d43b949b",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_ircheck.py"
    },
    {
      "type": "modify",
      "old_id": "2dd1c025123f83755f495dd7dfce6f1ca30233a4",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_run.py",
      "new_id": "df9d44eab73fab45e452835e71b52ad6e388841e",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_run.py"
    },
    {
      "type": "modify",
      "old_id": "2b0298cadeda7f02c8c6d60381a0fbd107d9f805",
      "old_mode": 33188,
      "old_path": "mypyc/test/test_struct.py",
      "new_id": "82990e6afd8287ab1c3f3715e8ae8da70005a6d6",
      "new_mode": 33188,
      "new_path": "mypyc/test/test_struct.py"
    },
    {
      "type": "modify",
      "old_id": "b7ff01064315894727751fbd3e51bdecee70858f",
      "old_mode": 33188,
      "old_path": "test-data/unit/lib-stub/mypy_extensions.pyi",
      "new_id": "4295c33f81adebfaf6b2259be61218de0ddb4a51",
      "new_mode": 33188,
      "new_path": "test-data/unit/lib-stub/mypy_extensions.pyi"
    }
  ]
}
