)]}'
{
  "commit": "cbb485437c61d37753bcc98818beca54d5b38f69",
  "tree": "8fcc515b7f6d155a73a9baf0704a1ebdcc2db17d",
  "parents": [
    "41a9e016dfcf50ea6983ea102eef289460f52268"
  ],
  "author": {
    "name": "Ömer Sinan Ağacan",
    "email": "omersa@google.com",
    "time": "Mon Dec 15 08:45:18 2025 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Dec 15 08:45:18 2025 +0000"
  },
  "message": "Fix `Int64.toRadixStringUnsigned` extra leading digits (#926)\n\nCurrently `Int64.toRadixStringUnsigned` adds an extra \u00270\u0027 when the result is\nsingle digit, e.g. \u002702\u0027 instead of \u00272\u0027.\n\nTo be able to use the standard library `toRadixString`, we split the number\ninto two halves, then calculate the lowest digit and the rest of the digits\nseparately. With the lowest digit removed, the rest of the digits can be passed\nas a positive integer to `toRadixString`. The resulting strings are then\nconcatenated to get the final result.\n\nThe problem occurs when the number can be printed as a single digit. In this\ncase the rest of the number is printed as \u00270\u0027, giving us e.g. \u002702\u0027 instead of\n\u00272\u0027.\n\nTo fix, we return early by calling the standard library `toRadixString` when\nthe number is positive.\n\nThis works because\n\n- The problem is only when printing single digits (as the lowest digit and the\n  rest are printed separately, and the problem is when the \"rest\" part is 0)\n\n- Single-digit numbers need to have high 32-bits as zero (otherwise they\u0027ll be\n  negative and printed as many digits, or positive but larger than single\n  digit).\n\n- When the high 32-bits are all zero, the number is positive, and can be\n  converted to string directly with the standard library signed\n  `toRadixString`.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a666cc9c7415f1797da45a5dcb3088300081f37a",
      "old_mode": 33188,
      "old_path": "pkgs/fixnum/lib/src/int64_native.dart",
      "new_id": "25c1c9d8adba933d75996d4980db477cc1880bbf",
      "new_mode": 33188,
      "new_path": "pkgs/fixnum/lib/src/int64_native.dart"
    },
    {
      "type": "modify",
      "old_id": "e4bdd44044896ea9d8ed505c0454f835ec5761b1",
      "old_mode": 33188,
      "old_path": "pkgs/fixnum/test/int64_test.dart",
      "new_id": "c711f19e6d142e5f8f542c3656d10a87b812ae51",
      "new_mode": 33188,
      "new_path": "pkgs/fixnum/test/int64_test.dart"
    }
  ]
}
