)]}'
{
  "commit": "4ce130af4e28839182a1363fb02aad47dbe71f61",
  "tree": "1ef86519e40ea79ed356681a012e45d5eab095c5",
  "parents": [
    "5b5ba1ac350179e5873abfd8df9b36c9c87a1c90"
  ],
  "author": {
    "name": "Claude",
    "email": "noreply@anthropic.com",
    "time": "Mon Jul 27 12:49:55 2026 +0000"
  },
  "committer": {
    "name": "Claude",
    "email": "noreply@anthropic.com",
    "time": "Mon Jul 27 12:49:55 2026 +0000"
  },
  "message": "Fix CI failures in from_chars locale handling (PR #5237)\n\nThree issues in the extended-locale number parsing were breaking CI:\n\n- On Windows, _create_locale() was called with LC_ALL_MASK, a POSIX-only\n  constant that doesn\u0027t exist in the Windows CRT; it needs LC_ALL there.\n- `::isspace_l`/`::_isspace_l` were called with a leading `::`, but on\n  glibc, mingw-w64 and some other C libraries these are macros that expand\n  to a parenthesized expression, so `::` followed by the expansion is a\n  syntax error (\"expected unqualified-id\"). Dropping the `::` fixes this\n  on all affected toolchains (gcc/clang on Linux, nvcc, mingw).\n- The Windows implementation assumed the full `_\u003cfuncname\u003e_l` family is\n  always available, but some MinGW toolchains only provide a subset\n  (e.g. missing `_strtoll_l`/`_strtoull_l`/`_strtof_l`/`_strtold_l`).\n  The extended-locale fast path is now only used for genuine MSVC\n  (including clang-cl, which mimics the MSVC ABI/CRT); other Windows\n  toolchains fall back to the locale-dependent standard functions.\n\nAlso fixes a clang-tidy hicpp-named-parameter/readability-named-parameter\nwarning-as-error on two unnamed `init_val_t` test parameters.\n\nVerified locally with gcc/clang on Linux, clang++ in C++20 mode, and\nmingw-w64 (both g++ and clang targeting x86_64-w64-mingw32).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "728c589085a9255701a61e360bf10b640b82f9d7",
      "old_mode": 33188,
      "old_path": "include/nlohmann/detail/conversions/from_chars.hpp",
      "new_id": "46bd63a707aa7323ff9cddb69460c57fa5bd71d3",
      "new_mode": 33188,
      "new_path": "include/nlohmann/detail/conversions/from_chars.hpp"
    },
    {
      "type": "modify",
      "old_id": "5bdf32b0b5b761ec066737c676d9e7971dd5f8b3",
      "old_mode": 33188,
      "old_path": "single_include/nlohmann/json.hpp",
      "new_id": "7226cf50908d4ad6ab9f1cbf12093f721942d9cb",
      "new_mode": 33188,
      "new_path": "single_include/nlohmann/json.hpp"
    },
    {
      "type": "modify",
      "old_id": "0db5b3bb180c902988a1eb317c4a82b4e0dd1324",
      "old_mode": 33188,
      "old_path": "tests/src/unit-from_chars.cpp",
      "new_id": "f51da50aae4b3bac809c2f311b29fc97289aaf00",
      "new_mode": 33188,
      "new_path": "tests/src/unit-from_chars.cpp"
    }
  ]
}
