)]}'
{
  "commit": "8bfd696162ca252b1b8931d67b1d1c8a49341eb1",
  "tree": "0346a41ff21a2ed2e3ba3743fe5d141c6619c457",
  "parents": [
    "96654c6fd54c4e97711d7caedf656f47445e505f"
  ],
  "author": {
    "name": "Aaron Webster",
    "email": "awebster@gmail.com",
    "time": "Thu Oct 15 12:26:25 2026 -0700"
  },
  "committer": {
    "name": "Aaron Webster",
    "email": "awebster@gmail.com",
    "time": "Thu Oct 15 12:26:25 2026 -0700"
  },
  "message": "Fix 128-bit text output for library types; use numeric_limits in MaskToNBits\n\n`WriteIntegerToTextStream` subscripted its digit table with the value being\nprinted, which does not compile when `EMBOSS_UINT128_T` is overridden with a\nclass type such as `absl::uint128`, as `emboss_defines.h` advertises.  Cast\nthe digit (always below the numeric base) to `int` first.\n\n`MaskToNBits` rejected signed types with `std::is_signed\u003cT\u003e`, which is false\nfor `__int128` under a strict `-std\u003dc++NN`, so the check was silently skipped\nthere.  Use `std::numeric_limits\u003cT\u003e::is_signed` instead, which the runtime\nalready relies on for 128-bit types.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f9b031c5fe81bba2bbe6b432f1d7d9ad37d6140b",
      "old_mode": 33188,
      "old_path": "runtime/cpp/emboss_bit_util.h",
      "new_id": "d8b7a92fb8d4868cd19ae97e3c80eeee3eacc576",
      "new_mode": 33188,
      "new_path": "runtime/cpp/emboss_bit_util.h"
    },
    {
      "type": "modify",
      "old_id": "061ea31744f73357e196b5763bd3246dce59db4d",
      "old_mode": 33188,
      "old_path": "runtime/cpp/emboss_text_util.h",
      "new_id": "e8dea002acca7801502ed86b5bcfc08be9375365",
      "new_mode": 33188,
      "new_path": "runtime/cpp/emboss_text_util.h"
    }
  ]
}
